2010-11-08 48 views
0

我試圖用2文本框1按鈕3標籤創建一個非常簡單的網頁,使它看起來像這樣:如何在Django和Python中打印textfield的值?

First Name: [..........] <-- label + textfield 

Last Name: [...........] <-- label + textfield 

(Submit) <-- button 

{Your full name is %FirstName% + %LastName% } <-- label 

正如你可以看到它是一個非常簡單的任務。我可以在5分鐘內輕鬆地在ASP.NET中完成此任務,但我對Django或Python並不熟悉,因爲我剛開始學習該框架。

謝謝。

+0

我想你沒有足夠的django基本理解,你最好閱讀文檔http://docs.djangoproject.com/en/dev/topics/forms/。在Django中使用表單必須更容易,相信我 – jargalan 2010-11-08 06:38:30

回答

2

zomboid的評論是正確的。看起來你需要更多地瞭解Django。你可能想看看Django Book的this chapter。該文本有點過時,但基本原理是相同的。

一些常規指導:您需要將URL(例如/namegrabber)指向查看功能。在該視圖函數內部,您可以決定用戶是在執行GET還是POST。如果它是一個GET,則實例化一個未綁定的表單 - 即沒有數據的表單 - 並將其傳遞給要呈現的模板。如果它是一個POST,然後實例化你的表單,用request.POST填充它。然後,獲取表單的cleaned_data屬性中的數據並將傳遞給要呈現的模板。

其他兩條評論。首先,正如我所提到的,「Django Book」中的文本有些過時。特別是,你需要以某種方式處理Django的CSRF保護,因爲你的視圖將會處理POST請求,假設你使用的是Django 1.2+。如何做到這一點很好的概述是here。其次,當您構建表單時,您可能需要使用forms.CharField來處理您正在討論的數據。

祝你好運!這個一旦你習慣了框架,在Django中執行一個五分鐘的任務。

1

在Python的末尾,您可以通過查看request.POST [「field_name」]來查看這些值。然後,您可以將這些值傳遞給模板(不同的方法取決於您用來調用模板的函數)。然後模板將看起來像

Your full name is {{ first_name }} {{ last_name }} 

讓我知道如果你需要更多的細節/例子。