我開始學習Django,並開始觀看關於如何創建表單的教程,並且我已經看到很多地方的表單是這樣創建的。django request.POST到底做了什麼以及如何使用它?
def create(request):
if request.POST:
form = ArticleForm(request.POST)
if form.is_valid:
form.save()
else:
form = ArticleForm()
args = {}
args.update(csrf(request))
args['form'] = form
return render_to_response('create_article.html', args)
現在,假設我創建了一個模式叫文章,然後創建從該模型的ArticleForm,究竟是怎麼回事(在我上面提供的代碼)?我明白,如果form.is_valid:form.save()部分,並根據我所讀到的,請求應始終是第一個參數,但有人可以解釋什麼請求作爲參數,以及該函數的前兩行是什麼在做什麼?在else語句和else語句(args部分)之後究竟發生了什麼?
編輯:另外,假設文章模型有一個名爲name = models.CharField(max_length = 20)的字段,有沒有辦法讓我獲取/訪問用戶爲表單的特定部分輸入的內容?假設我想獲取名稱並查看名稱是否已經存在於我的數據庫中,那麼有沒有辦法讓我這麼做?
好的完美,謝謝!所以假設Article模型有一個名爲name = models.CharField(max_length = 20)的字段,有沒有辦法讓我獲得/訪問用戶爲表單的特定部分輸入的內容?假設我想知道名稱,並查看名稱是否已經存在於我的數據庫中,那麼我該怎麼做呢? – user216485
當然可以。不要混淆Django Forms和Models,他們有不同的意圖(Forms = User Input Validation,Models = data persistence and access)。嘗試Django教程或文檔的模型/表單部分。 – stefanw