<p>まず、名前、メールボックス、メッセージフィールドを含む連絡先フォームを定義します。 2。ビュー內(nèi)のPOSTリクエストを?qū)彇摔筏匹榨┅`ムの送信を処理し、検証後にcleaned_dataを取得して応答を返します。 3。{{form.as_p}}を使用してフィールドをレンダリングし、テンプレートに{%csrf_token%}を追加して、CSRF攻撃を防止します。 4. contact_viewビューにポイント /連絡先 /にURLルーティングを構(gòu)成します。 Modelformを使用してモデルを直接関連付けてデータストレージを?qū)g現(xiàn)します。 Djangoフォームは、安全なフォーム機能の迅速な発展に適したデータ検証、HTMLレンダリング、エラープロンプトの統(tǒng)合処理を?qū)g裝しています。
<p>

<p> Djangoでは、
forms
ユーザー入力を処理するためのコアツールの1つです。データの検証、HTMLフォームのレンダリング、エラーメッセージの処理などを支援できます。以下は、フォームの定義からビューやテンプレートまでの完全なプロセスをカバーする実用的なDjangoフォームの例です。

<p>まず、djangoアプリケーションディレクトリに
forms.py
ファイルを作成します(まだそうでない場合):
#forms.py
Djangoのインポートフォームから
クラスcontactform(forms.form):
name = forms.charfield(max_length = 100、label = 'your name')
email = forms.emailfield(label = 'メールアドレス')
メッセージ= forms.charfield(widget = forms.textarea、label = 'message')
<p>このフォームには、名前、電子メール、およびメッセージコンテンツの3つのフィールドが含まれています。

?§2。ビュー(Views.py)でフォームを使用します
<p>次に、
views.py
でリクエストを取得して投稿し、投稿してください:
#vieds.py
django.shortcutsからインポートレンダリング
django.httpからインポートhttpresponseから
from .forms contactformをインポートします
def contact_view(リクエスト):
request.method == 'post'の場合:
form = contactform(request.post)
if form.is_valid():
#有効なデータを処理します(電子メールの送信、データベースへの保存など)
name = form.cleaned_data ['name']
email = form.cleaned_data ['email']
メッセージ= form.cleaned_data ['message']
#ここでは、保存または送信ロジックを送信してhttpresponseを返すことができます(f "ありがとう{名前}、メッセージを受け取りました!")
それ以外:
form = contactform()
return render(request、 'contact.html'、{'form':form})
<p>フォームを
templates/contact.html
でレンダリングします。

<!doctype html>
<html>
<head>
<title>お問い合わせ</title>
</head>
<body>
<h2>フォームに連絡します</h2>
<form method = "post">
{%CSRF_TOKEN%}
{{form.as_p}}
<button type = "submit">送信</button>
</form>
</body>
</html>
-
{{ form.as_p }}
各フィールドを<p>
タグで自動的に出力します。 -
{% csrf_token %}
は、DJANGOがクロスサイトのリクエスト偽造を防ぐために必要なタグです。
? 4。urlルーティングを構(gòu)成(urls.py)
<p>アプリケーションとプロジェクトが正しいURLで構(gòu)成されていることを確認してください。
#urls.py(アプリ內(nèi))
django.urlsインポートパスから
から 。ビューをインポートします
urlpatterns = [
path( 'contact/'、views.contact_view、name = 'contact')、
]
<p>メインプロジェクトの
urls.py
に含めてください。
?フォーム検証効果
- ユーザーが空のフォームを送信するか、メールボックスが正しくない場合、Djangoはエラーメッセージを自動的に表示します。
- すべての検証は、
forms.py
で定義されたフィールドルールによって自動的に実行されます。
<p>フォームをデータベースモデルに直接対応させる場合は、
ModelForm
を使用できます。
#models.py
クラスフィードバック(models.model):
name = models.charfield(max_length = 100)
email = models.emailfield()
message = models.textfield()
created_at = models.dateTimefield(auto_now_add = true)
#forms.py
クラスフィードバックフォーム(forms.modelform):
クラスメタ:
モデル=フィードバック
fields = ['name'、 'email'、 'message']
<p>次に、
form.save()
を呼び出して、データを直接保存します。
<p>基本的にそれだけです。 Djangoフォームのパワーは、
データ検証、HTMLレンダリング、および統(tǒng)合エラープロンプト処理です。これは、安全で信頼性の高いフォーム機能の迅速な発展に非常に適しています。
以上がPython Djangoが例を形成しますの詳細內(nèi)容です。詳細については、PHP 中國語 Web サイトの他の関連記事を參照してください。