簡體   English   中英

如何在Django-python中從表單發布傳遞參數以進行查看?

[英]How to pass parameter from form post to view in Django - python ?

我是Django的新手,我被困在如何使用html請求表單在view中顯示:

1. HTML表單:

<form action="" method="post">
    <label for="your_name">Your name: </label>
    <input id="your_name" type="text" name="name" value="{{ name }}">
    <input type="submit" value="OK">
</form>

2. views / formout.py

def pageform(request):

    name = request.POST.get('name', '')

    return render(request, 'en/public/index.html',{name : "name"})

3.網址

url (r'^form$', 'jtest.views.formout'),

4. index.html

<p>
    name : {{name}}
</p>

首先,您需要使用實際的表單類將用戶提供的值清理並歸一化為它們的Python等效項:

# forms.py

class NameForm(forms.Form):
    name = forms.CharField(max_length=255)

其次,您需要利用視圖中的表單:

# views.py

from django.shortcuts import render
from your_app.forms import NameForm

def my_view(request):
    name_form = NameForm(request.POST or None, initial={'name': 'whatever'})

    if request.method == 'POST':
        if name_form.is_valid():
            # do something

    return render(request, 'name-form.html', {'name_form': name_form})

最后,您的模板需要利用以下形式:

# name-form.html

<form action="." method="post" enctype="application/x-www-form-urlencoded">
    {{ name_form.name.label_tag }}
    {{ name_form.name }}
    {{ name_form.name.errors }}
    <button type="submit">Submit</button>
</form>

通過將初始值傳遞給表單類,Django將為您綁定該值。 如果表單有錯誤,並且name具有值,Django將重新綁定從request.POST字典提交到該字段的值。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM