Создание формы повторного использования в Django SOLVED

Правильно, пытаюсь создать многоразовую форму на моем Django-сайте.

По какой-то причине он просто не отображает поля формы. Он отображает кнопку submit, но, несмотря на правильную настройку полей и передачу их в мой шаблон, шаблон отказывается отображать поля формы.

Пытаюсь установить форму на privacy-statement странице, а также хотел бы использовать ее на cookie-statement странице.

Заявление о конфиденциальности уже существует, форма новая, и я хочу, чтобы она была многоразовой.

Вот моя установка, включая пути к каждому файлу:

Обновление: проблема решена. Смотрите измененный вариант работы ниже:

#PROJECT-NAME/legal/forms.py
from django import forms

class TicketForm(forms.Form):
    subject = forms.CharField(max_length=255)
    description = forms.CharField(widget=forms.Textarea)
    email = forms.EmailField()

#PROJECT-NAME/legal/views.py
from django.shortcuts import render, redirect
from django.http import HttpResponse
from . forms import TicketForm
from django.core.mail import send_mail, BadHeaderError
from django.template import loader
from blauwestadtech import utils
from django.conf import settings
import requests

def legal__privacy_statement(request):

   
    form                    =   TicketForm()
    
    context = {

        'form'                      :   form

    }

    return render (request, 'privacy-statement.html', context)
#PROJECT-NAME/legal/urls
from django.contrib import admin
from django.urls import path, include 
from . import views
from .views import create_ticket

urlpatterns = [
    
    path(
        'privacy/', include(
            [
                
                path('cookie-statement', views.legal__cookie_statement, name="cookie-statement"),
                path('privacy-statement', views.legal__privacy_statement, name="privacy-statement"),

            ]
        ),
    ),
]
#PROJECT-NAME/legal/templates/privacy/_form.html
<form method="post">
    {% csrf_token %}
    <div class="form-field">
        {{ form.name }}
        {{ form.name.errors }}
    </div>
    <div class="form-field">
        {{ form.email }}
        {{ form.email.errors }}
    </div>
    <div class="form-field">
        {{ form.subject }}
        {{ form.subject.errors }}
    </div>
    <div class="form-field">
        {{ form.description }}
        {{ form.description.errors }}
    </div>
    <div class="form-field">
        {% include 'text-modules/privacy-notice.html' %}
    </div>
    <button type="submit" class="btn btn--pink">Submit</button>
</form>
<form method="post">
    {% csrf_token %}
    <div class="form-field">
        {{ form.name }}
        {{ form.name.errors }}
    </div>
    <div class="form-field">
        {{ form.email }}
        {{ form.email.errors }}
    </div>
    <div class="form-field">
        {{ form.subject }}
        {{ form.subject.errors }}
    </div>
    <div class="form-field">
        {{ form.description }}
        {{ form.description.errors }}
    </div>
    <div class="form-field">
        {% include 'text-modules/privacy-notice.html' %}
    </div>
    <button type="submit" class="btn btn--pink">Submit</button>
</form>
#PROJECT-NAME/legal/templates/privacy/privacystatement.html
{% block content %}
    <article class="page">
        <div class="page-content">
             {% include '_form.html' with form=form %}
        </div>
    </article>
{% endblock %}  

При осмотре веб-страницы я получаю следующее, как видите, никаких полей формы...

<form method="post" action="/legal/privacy/create-ticket/">
                <input type="hidden" name="csrfmiddlewaretoken" value="xxxxxxx">
                
                <button type="submit">Submit</button>
            </form>

Почему мой шаблон отказывается отображать поля формы?

  • Десятки раз перепроверил все опечатки - я ожидал увидеть поля формы,
  • Подтвердил правильность синтаксиса импорта - я ожидал увидеть поля формы,
  • Попробовал напрямую добавить форму, вложенную в _form.html, в шаблон privacy-statement, не используя функцию include, - ожидал увидеть поля формы
  • Просмотрел 100 000 грубо неточных видеороликов на YouTube - я ожидал увидеть поля формы
  • Принял очень глупое решение положиться на ChatGPT - я ожидал увидеть поля формы
Вернуться на верх