django - 如何在没有模型的模板中从视图中渲染表单?
问题描述
我的 Django 代码有问题。我正在尝试将表单从视图呈现到模板,而我只是看到提交按钮。我注意到我们可以通过像这样{{ form }}这样引入它来动态使用表单,但是当我使用它时,我只看到页面上的“提交”按钮(抱歉我不知道如何在这里上传本地图片)。我加入了我的四个文件:views.py、home.html、forms.py 和 urls.py 提前谢谢
主页.html
<form method="POST" novalidate action="/config">
{% csrf_token %}
<fieldset>
<legend class="border-bottom mb-4">Home</legend>
{{ form.as_p }}
</fieldset>
<div class="form-group">
<button class="btn btn-outline-info" type="submit">Sign Up</button>
</div>
</form>
视图.py
def inputHome(request):
form = InputHomeForm()
if request.method == 'POST':
form = InputHomeForm(request.POST)
if form.is_valid():
mk = form.cleaned_data['mk']
return HttpResponseRedirect('blog-config')
else:
form = InputHomeForm()
return render(request, 'blog/home.html', {'form': form})
表格.py
class InputHomeForm(forms.Form):
mk = forms.CharField(widget=forms.TextInput(attrs={'class': 'special'}))
网址.py
urlpatterns = [
path('home/', blog_views.home, name='blog-home'),
]
我没有错误消息,所以我不知道问题所在。
解决方案
您在 html 中缺少表单标记。HTML应该是,
<form method='post'>
{% csrf_token %}
<fieldset>
<legend class="border-bottom mb-4">Home</legend>
{{ form.as_p }}
</fieldset>
<div class="form-group">
<button class="btn btn-outline-info" type="submit">Sign Up</button>
</div>
</form>
推荐阅读
- clojure - Clojure:实现一些功能
- angular - 离子原生联系人“plugin_not_installed”
- html - 我们可以从/输入数据保存到同一个html文件吗
- sql - SSIS:我需要从 For Each 循环中的 2 个不同查询填充 2 个 Excel 电子表格
- javascript - 使用带有类的 setInterval() 交换图像 – p5.js
- java - 在处理中增加 textSize
- hibernate - Netbeans为什么显示空白?
- javascript - IOS Voiceover 不读取 div 内容
- ms-access - 根据组合框内容在 MS Access 表单中选择记录
- tmux - Tmux 条件颜色设置