Отправка в приложение Django - PullRequest
0 голосов
/ 03 ноября 2011

Я использую форму с моего сервера Apache / PHP и Django для обработки всех моих сообщений / запросов. Как я могу установить его так, чтобы поле не было установлено, чтобы оно не вызывало ошибку?

Форма PHP:

<form action="http://www.mydomain.com:8003/login/" method="post">
<input type="text" name="email" id="email"><br>
<input type="text" name="password" id="password"><br>
<input type="checkbox" name="remember"><br>
<input type="submit" value="send" id="send">
</form>

Джанго:

 from django.http import HttpResponse, HttpResponseRedirect
 from django.shortcuts import render_to_response
 from django.views.decorators.csrf import csrf_exempt

 @csrf_exempt
 def index(request):
     if request.method == 'POST':
         post = request.POST
         email = post['email']
         pass = post['password']
         remember = post['remember']
         if remember:
             expire_v = 30
         else:
             expire_v = None
         response = HttpResponse(email)
         response.set_cookie('emailaddress', email, max_age=expire_v)
         response.set_cookie('password', pass, max_age=expire_v)
         return response

Проблема в том, что если помнить не проверено, то это вызывает ошибку.

1 Ответ

5 голосов
/ 03 ноября 2011

В этом коде много ошибок, не зная ошибки: попробуйте использовать значения по умолчанию при извлечении параметров из запроса

email = request.POST.get('email', False)
password = request.POST.get('pass', False) # pass is a keyword in python
remember = request.POST.get('remember', False)
if email and password:
    response = HttpResponse(email)
    if remember:
        response.set_cookie('emailaddress', email, max_age=30)
        response.set_cookie('password', pass, max_age=30)
    return response
 else:
     # do something to indicate a problem
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...