我開始使用今天的Django,並試圖建立一個HTML表單Django的互動HTML表單
爲views.py代碼
def home(request):
t = get_template('home.html')
html = t.render(Context({ "GetLabel": 'Welcome to the SPACE program.',
"GetInput": '',
"Next": './get_machine' }))
return HttpResponse(html)
def get_machine(request):
t = get_template('home.html')
html = t.render(Context({ "GetLabel": 'Enter the name of the machine: ',
"GetInput": '<input type="text" name="machine_name">',
"Next": './get_beamlines'}))
return HttpResponse(html)
def get_beamlines(request):
machine_name = request.POST["machine_name"]
Context({ "GetLabel": 'Machine already installed<br> Overwrite Existing file',
"GetInput": '<select name="check" > <option value="Yes">Yes</option> <option value="No">No</option> </select>',
"Next": './get_beamline' })
t = get_template('home.html')
html = t.render(Context({"GetLabel": 'Enter the number of beamlines: ',
"GetInput": '<input type="text" name="beamline_no"',
"Key":'Machine Name: ',
"Value": machine_name,
"Next": './get_beamline_name'}))
return HttpResponse(html)
它是這樣的;現在我不知道如何進一步得到光束線的名稱(如果超過1)
我是django的新手,如果我錯了,請糾正我。
有沒有其他更好的方法來做同樣的事情。
注意:最後,我想將所有用戶輸入寫入一個xml文件。 我已經做了與正常的Python程序一樣,通過獲取用戶輸入的形式raw_imput()
你是否按照教程?本教程詳細介紹了這一點:) –
它看起來像你在錯誤的地方做了很多東西。 1 - 你在視圖中模板化,而你可以將它留給模板引擎。 2 - 你正在手動創建表單,而Django具有通過Form對象支持的優秀表單。我會像這樣解決這個問題 - 創建用於保存機器信息的表單。然後,我會重寫窗體保存方法,而不是使用Django的ORM來保存信息,你可以做你自己的XML保存,如果你真的要... –
@Zayatzz對不起,我剛剛開始Django的今天,我不知道django表單對象,你可以請幫助我如何做與Django Form對象相同...非常感謝! – Thiru