首页 > 解决方案 > 如何在 _base.html 中制作表格

问题描述

我需要在网站的标题部分制作表格。此表格可用于我网站中的所有页面。例如,我在我的应用程序“帐户”中有:

表格.py

class SignupForm(forms.ModelForm):
    password = forms.CharField(widget=forms.PasswordInput)

    class Meta:
        model = User
        fields = ('phone',)

视图.py

def signup(request):
    form = SignupForm(request.POST or None)
    # CODE #
    ctx = {
        'form': form,
    }
    return render(request, 'accounts/signup.html', ctx)

网址.py

from django.urls import path
from . import views

app_name = 'accounts'

urlpatterns = [
    path('signup/', views.signup, name='signup'),
]

帐户/signup.html

 {% block signup %}
     {{ form }}
 {% endblock %}

如果我添加{% include 'accounts/signup.html' %}到我的 _base.html,我不会,获取表单 - {{ form }} 但所有其他内容都将包括在内。

您能告诉我如何准确获取站点中所有页面的表单吗?这是正确的方法吗?

标签: djangoformsdjango-formsdjango-templates

解决方案


使用自定义模板标签来初始化一个空表单并从您想要的任何地方显示它 - 只需确保actionHTML 标签的属性<form>指向您的注册视图。


推荐阅读