Html表单输入代替python django表单

时间:2017-08-10 17:29:05

标签: python html django forms

我正在用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>

2 个答案:

答案 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'

希望这有帮助!