gpt4 book ai didi

python - 如何在 Django 模板中链接表单?

转载 作者:太空宇宙 更新时间:2023-11-03 18:44:49 24 4
gpt4 key购买 nike

我是 Python 和 Django 新手,所以请耐心等待。我试图在一个 base.html 类中包含一个表单部分。我就是这样做的:

View .py:

class WikiForm(forms.Form):
original = forms.Textarea()
wikified = forms.Textarea()
raw_html = forms.Textarea()

def index(request):
wikiform = WikiForm()
template = loader.get_template('base.html', wikiform)
context = RequestContext(request, {})

return HttpResponse(template.render(context))

Base.html

<div class="sub-background">
{% block content %}
{{ wikiForm }}
{% endblock %}
</div>

这已经有效,只是在尝试添加表单部分后才失败并出现此错误。

非常感谢任何帮助!

编辑这是完整的错误:

> C:\Python27\django-trunk\django\core\handlers\base.py in get_response
response = wrapped_callback(request, *callback_args, **callback_kwargs) ...
▶ Local vars
E:\Dropbox\University Project\wikify\Wikify_Project\Wikify_Project\views.py in index
template = loader.get_template('base.html', wikiform) ...
▶ Local vars
C:\Python27\django-trunk\django\template\loader.py in get_template
template, origin = find_template(template_name, dirs) ...
▶ Local vars
C:\Python27\django-trunk\django\template\loader.py in find_template
raise TemplateDoesNotExist(name) ...
▶ Local vars

我可以通过不将 wikiform 传递到模板中来修复此错误,但是如何将表单传递到模板中以将其呈现在 HTML 中?

最佳答案

此行不正确:

template = loader.get_template('base.html', wikiform)

根据开发版本文档,该方法的结构是这样的:

get_template(template_name[, dirs])

对于 django 1.6 及更早版本,dirs 参数不存在。如果您没有使用 django 的开发版本,该行应该会给出某种关于仅允许一个参数的错误。如果您使用的是开发版本,wikiform 不是目录列表,因此这永远不会起作用。

如果你想将表单传递给模板,你需要这样做:

wikiform = WikiForm()
template = loader.get_template('base.html')
context = RequestContext(request, {'form': wikiform})

关于python - 如何在 Django 模板中链接表单?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19755613/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com