【发布时间】:2021-02-25 16:13:36
【问题描述】:
我试图在我的应用程序的每个页面中使用一个表单。该表单位于 base.html 页面中。 这是我的意见。py:
def base_info_form(request):
if request.method == 'POST':
form = BaseContactForm(request.POST)
if form.is_valid():
form.save()
return redirect('Help-Page')
else:
form = BaseContactForm()
return render(request, '', {'form': form})
def base_forms(request):
return {
'info_form': BaseContactForm()
}
我将它添加到我的设置中,如下所示:
TEMPLATES = [
{
'BACKEND': 'django.template.backends.django.DjangoTemplates',
'DIRS': [os.path.join(BASE_DIR, 'templates')],
'APP_DIRS': True,
'OPTIONS': {
'context_processors': [
......
'Ghoghnoos.context_processors.base_forms',
],
},
},
]
'Ghoghnoos' 是我的项目的名称。该视图是我的博客应用程序视图。 当我刷新浏览器时,我收到此错误: 没有名为“Ghoghnoos.context_processors”的模块 我在这里做错了什么?我以前从未使用过自定义 context_processors。
这是我的 context_processors.py:
def base_info_form(request):
if request.method == 'POST':
form = BaseContactForm(request.POST)
if form.is_valid():
form.save()
return redirect('Home-Page')
else:
form = BaseContactForm()
return render(request, '', {'form': form})
def base_forms(request):
return {
'info_form': base_info_form(request)
}
这是我的 base.html: .......
<form method="post" action="">
{% csrf_token %}
{{ info_form }}
</form>
.......
【问题讨论】:
-
包含您的自定义代码的 py 文件的路径是什么?我怀疑你会想要像 'Ghoghnoos.blog.base_forms.info_form` 或任何适合你的文件结构的东西。
-
今天的热门问题。 stackoverflow.com/a/66372243/4872140
标签: django django-forms