Формы не отображаются при использовании приложения для регистрации

Я использую это приложение для регистрации пользователей моего сайта https://github.com/egorsmkv/simple-django-login-and-register. Проблема в том, что независимо от того, что я делаю, моя форма не отображается (она отображалась, когда я не использовал это приложение для регистрации и код работал просто отлично). Вот мой код:

модель

class UserBio(models.Model):     
   name = models.CharField(max_length=120)
   age = models.CharField(max_length=2)
   phone = models.CharField(max_length=10)    
   height = models.CharField(max_length=3)
   weight = models.CharField(max_length=3)

form

class UserBio(forms.ModelForm):
   class Meta:
       model = UserBio
       fields = (name', 'age', 'phone', 'height', 'weight')

просмотров

def add_bio(request):
   submitted = False
   if request.method == "POST":
       info_form = UserBio(request.POST)
       if info_form.is_valid():        
           info_form.save()
           return HttpResponseRedirect('add_information?submitted=True')
   else:
       info_form = UserBio()
       if 'submitted' in request.GET:
           submitted = True
   return render(request, 'accounts/profile/add_information.html', {'form': info_form, 'submitted':submitted})

урлы

urlpatterns = [
   path('add/information', views.add_information, name='add_information'),   
]

html

{% extends 'layouts/default/base.html' %}
{% block title %} Add info {% endblock %} 

{% load i18n %}

{% block content %}

   <h4>{% trans 'Add Info' %}</h4>

   {% if submitted %}
   Sumitted correctly

{% else %}
   <form method="post">       
   {% csrf_token %}    

   {{ info_form.as_p }}

   </form>
   </div>
   <br/>
</body>

{% endif %}
{% endblock %}

Любая помощь будет очень признательна!

потому что в ваших представлениях def add_bio измените ваш url в соответствии с вашей функцией представления

path('add/information', views.add_bio, name='add_information'),  

и в вашем шаблоне

{{ form.as_p }}

Вы передали переменную info_form шаблону с именем переменной form. Действительно:

#                            name of the variable for the template ↓
return render(request, 'accounts/profile/add_information.html', {'form': info_form, 'submitted':submitted})

Таким образом, это означает, что вы изображаете это с:

{{ form.as_p }}

Вы также должны вызвать правильное представление:

urlpatterns = [
   path('add/information/', views.add_bio, name='add_information'),   
]

Путь не указывает на шаблон: путь указывает на представление, а представление может (это не обязательно) выводить нулевой, один или несколько шаблонов для создания HTTP-ответа.

Вернуться на верх