我正在用django编写一个应用程序。我知道如何实现django表单,但我想要做的是使用类型文本或电子邮件或密码的html输入输入并将输入保存到数据库或将其链接到form.py
form.py
class PostForm(forms.ModelForm):
publish = forms.DateField(widget= forms.SelectDateWidget)
class Meta:
model = Post
fields = [
"title",
"content",
]
views.py
def create(request):
form = PostForm(request.POST or None, request.FILES or None)
if form.is_valid():
instance = form.save(commit=False)
instance.save()
messages.success(request, "Post created")
return HttpResponseRedirect(instance.get_absolute_url())
context = {
"form": form,
}
template = 'create.html'
return render(request,template,context)
HTML
<form method="POST" action="" enctype="multipart/form-data">{% csrf_token %}
{{ form.as_p }}
<p>
<input type="checkbox" id="test5" />
<label for="test5">Red</label>
</p>
<input type="submit" name="submit" value="submit post">
</form>
答案 0 :(得分:1)
好吧,只需使用它:
<强> HTML 强>
<input type='text' id='title'>
在if form.is_valid()
<强>视图强>
title = request.POST.get('title')
post = Post(title=title)
post.save()
答案 1 :(得分:0)
在HTML表单中,
1.在表单标记中,将操作作为URL提供
2.然后在urls.py中,指定与该URL对应的视图
3.现在,在views.py中写下视图
要从html表单中获取特定字段,您需要在模板中为该字段指定一个ID。然后在您的视图中,您可以通过ID访问特定字段。
另外,请在HTML表单中指定method = GET / POST,如果您正在使用POST并且只想接受POST查询,那么在您的视图中只需添加if request.method=='POST'
希望这有帮助!