Django に組み込まれている Web サーバーを使用すると奇妙なエラーが発生します (アクティブな開発を行っているため、Apache に対してテストしていません)。短い URL パラメーター (Chalk%20Hill など) で機能する URL パターンがありますが、このパターンでは Python がロックされます。
http://localhost:8000/chargeback/checkDuplicateProject/Bexar%20Street%20Phase%20IV%20Brigham%20Ln%20to%20Myrtle%20St
get リクエストは保留中と言うだけで戻りません。サーバーを再び機能させるには、python を強制終了する必要があります。私は何を間違っていますか?
編集:テストを続けると、奇妙なことに、URLを入力するだけで正しいjson応答が返されます。次に、pythonをロックします。ただし、私がウェブサイトにいる間は、戻ることはなく、python がロックされます。
URL:
url(r'^chargeback/checkDuplicateProject/(?P<aProjectName>(\w+)((\s)?(-)?(\w+)?)*)/$', 'chargeback.views.isProjectDuplicate'),
ビュー:
def isProjectDuplicate(request, aProjectName):
#count the number of matching project names
p = Project.objects.filter(projectName__exact = aProjectName).count()
#if > 0, the project is a duplicate
if p > 0:
return HttpResponse('{"results":["Duplicate"]}', mimetype='application/json')
else:
return HttpResponse('{"results":["Not Duplicate"]}', mimetype='application/json')
モデル:
class Project(models.Model):
projectName = models.TextField('project name')
department = models.ForeignKey('Department')
def __unicode__(self):
return self.projectName