2017-08-10 21 views
2

我正在用django寫一個應用程序。我知道如何實現Django的形式,但我想要做的還真是有類型的文本或電子郵件或密碼的HTML輸入輸入和輸入保存到數據庫或將其鏈接到form.pyHtml表單輸入代替python django表單

形式。 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

剛剛訪問'request.POST.get(「TEST5」)'我不明白的問題,也許 –

+0

我的意思,而不是在形式上「稱號」。 py我想使用''並且輸入仍然會提交到數據庫中@JoranBeasley – King

+0

@King你想替換'{{form.as_p }}'與個人html輸入標籤?準確地說@BillF是 –

回答

1

使用pip install django-widget-tweaks並在你的HTML中使用

{% load widget_tweaks %} 
<p> 
    {{ form.title|add_class:"input-lg" }} 
    {{ form.title.errors }} 
</p> 
+0

感謝此工作正常 – King

1

也只是使用:

HTML

<input type='text' id='title'>

插入下面的代碼下if form.is_valid()

意見

title = request.POST.get('title')

post = Post(title=title)

post.save()


+0

我必須在我的渲染中包含該文章嗎?引用我的view.py – King

+0

沒有。就在寫這篇文章的代碼'如果form.is_valid()內:' – coderanger

0

在HTML形式,
1.在形式標籤,給動作作爲URL
2.然後在urls.py,指定對應於該URL的視圖
3.現在,在您的views.py中編寫視圖。
要從您的html表單中獲取特定的字段,您需要在該模板中爲該字段指定一個id。然後在您的視圖中,您可以通過ID訪問特定的字段。

另外,不要指定方法= HTML表單中GET/POST,如果您使用POST,想只需要POST查詢,然後在你看來只是添加if request.method=='POST'

希望這有助於!

+0

你能打破它,我普萊舍 – King

+0

我的網址。PY'URL模式= [ URL(R '^私人/ $',私營),] 我views.py'高清私人(請求): \t \t如果request.method == 「POST」: \t \t \t名= request.POST [ 'namev'] \t \t \t返回渲染(請求 「nonuser.html」,{ '名稱':名稱}) \t否則: \t \t返回渲染(請求 「404.html」) ' –

+0

@King my html'

{%csrf_token%} \t \t \t
\t \t \t <輸入類= 「BTN-警告」 類型= 「提交」 值= 「提交」 ID = 「CLI」> \t \t' –