MultiValueDictKeyError - Python

Узнай цену своей работы

Формулировка задачи:

пытаюсь залогинить(наверное так называется) пользователя форма html:
Листинг программы
  1. {% extends "bc/index.html" %}
  2. {% block form %}
  3. <div>
  4. <form action = "" method = "post" class = "registration">
  5. {% csrf_token %}
  6. {% if errors %}
  7. {% for error in errors %}
  8. <p>{{error}}</p>
  9. {% endfor %}
  10. {% endif %}
  11. <p><input type = "username" name = "username" placeholder = "Введите логин"></p>
  12. <p><input type = "password" name = "password" placeholder = "Введите ваш пароль"></p>
  13. <input type = "submit" value = "войти">
  14. </form>
  15. </div>
  16. {% endblock %}
views.py:
Листинг программы
  1. from django.contrib.auth import login, authenticate, logout
  2. def login_user (request):
  3. user = authenticate (username = request.POST['username'],
  4. password = request.POST['password'])
  5. if user is not None:
  6. login (request, user)
  7. return render_to_response ('bc/account_page.html', locals ())
  8. else:
  9. return render_to_response ('bc/login_page.html')
выдает ошибку : MultiValueDictKeyError at /bc/login/ "'username'" в local vars действительно пустой словарь (nPOST:<QueryDict: {}) но как сделать его не пустым . Я ведь даже не могу зайти на страницу что бы заполнить поля формы (выдает ошибку при попытке загрузить страницу) пытался вставлять код из доков:
Листинг программы
  1. from django.contrib.auth import authenticate, login
  2. def my_view(request):
  3. username = request.POST['username']
  4. password = request.POST['password']
  5. user = authenticate(username=username, password=password)
  6. if user is not None:
  7. if user.is_active:
  8. login(request, user)
  9. # Redirect to a success page.
  10. else:
  11. # Return a 'disabled account' error message
  12. else:
  13. # Return an 'invalid login' error message.
  14. .. admonition:: Calling ``authenticate()`` first
реакция та же.

Решение задачи: «MultiValueDictKeyError»

textual
Листинг программы
  1. new_user = User.objects.create_user (username = request.GET['user'],
  2.                                                 password = request.GET['pass'],
  3.                                                 email = request.GET['email'])

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

7   голосов , оценка 4 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут