Django из не передается в шаблон html - PullRequest
0 голосов
/ 10 июля 2020

Поскольку в заголовке вопроса "{{form}}" from не загружается в шаблон html, который я проверял в предыдущих проектах, у меня почти такой же код, различия в обязательных полях, имя и т.д. c. Mechani c то же самое. В этих проектах функция регистрации отлично работает, здесь даже не выдает ошибку, просто ничего не отображает. Неудивительно, что здесь может быть не так.

forms.py

    from django import forms
    from django.contrib.auth.forms import UserCreationForm    
    from .models import Profile 
    
    class RegistrationForm(UserCreationForm):
        email = forms.EmailField(max_length=60, help_text="Required field")    
    
        class Meta:
            model = Profile
            fields = ["email", "username", "password", "password2", "calories_plan", "diet_type"]

views.py

    def registration_view(request):
        context = {}
        if request.POST:
            form = RegistrationForm(request.POST)
            if form.is_valid():
                email = form.cleaned_data.get("email")
                password = form.cleaned_data.get("password")
                new_account = authenticate(email=email, password=password)
                login(request, new_account)
            else:
                context["registration_form"] = form
        else:
            form = RegistrationForm()
            context["registration_form"] = form
        return render(request, "Account/registration.html", context)

html template

    {% extends 'main.html' %}
    {% load crispy_forms_tags %}
    
    {% block content %}
    
        <div class="content-section">
            <form method="post">
                {% csrf_token %}
                <fieldset class="form-group">
                    <legend class=border-bottom mb-4>Join today                     
                        {{ form }}
                    </legend>
                </fieldset>
                <div class="form-group">
                    <button class="btn btn-outline-info" type="submit">Sign Up</button>
                </div>          
            </form>
    
            <div class="border-top pt-3">
                <small class="text-muted">
                    Already have an account?
                    <a href="#" class="ml-2">
                        Log In
                    </a>
                </small>
            </div>
        </div>
    
    {% endblock %}

А как это выглядит в браузере. введите описание изображения здесь

1 Ответ

1 голос
/ 10 июля 2020

Вы передаете 'registration_form' в контекст, но в шаблоне вы вызываете {{ form }}.

Замените: {{ form }} на: {{ registration_form }}

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...