form.html
<form action='/login/' method = 'post'>
{% csrf_token %}
<label>Email: (*)</label><input type='text' name='email' value='' /><br />
<label>Password: </label><input type='password' name='password' value='' /><br />
<input type='submit' name='submit' value='Log in' />
</form>
そしてviews.py私はrender_to_responseではなくHttpResponseを使用します
def login(request):
success = False
message = ''
try:
emp = Employee.objects.get(email = request.POST['email'])
if emp.password == md5.new(request.POST['password']).hexdigest() :
emp.token = md5.new(request.POST['email'] + str(datetime.now().microsecond)).hexdigest()
emp.save()
info = serializers.serialize('json', Employee.objects.filter(email = request.POST['email']))
success = True
return HttpResponse(json.dumps({'success':str(success).lower(), 'info':info}))
else:
message = 'Password wrong!'
return HttpResponse(json.dumps({'success':str(success).lower(), 'message':message}), status = 401)
except:
message = 'Email not found!'
return HttpResponse(json.dumps({'success':str(success).lower(), 'message':message}), status = 401)
render_to_response を使用する場合は、RequestContext を追加するだけですが、HttpResponse を追加する場合は、どうすればよいかわかりません。
私はDjango 1.4を使用しています
が、どこに問題がありますか
=========================
HTML をレンダリングする関数を変更すると、私の問題は解消されます。
def homepage(request):
return render_to_response('index.html')
に
def homepage(request):
return render_to_response('index.html', context_instance=RequestContext(request))
それはばかげた間違いです...ありがとう...