setとpost

9555 ワード

フォームの作成
1 formタグコミットアドレスactionコミット方法method get postコミットファイルenctype=“multipart/form-data”2 input type=“text”テキスト入力ボックスtype=“password”パスワード入力ボックスtype=“radio”ラジオボックスtype=“checkbox”チェックボックスtype=“file”ファイルボックスtype=“button”ボタンtype=“submit”コミットtype=“reset”リセット
3ドロップダウン・ボックス・オプション1オプション2大きなテキスト:
getとpost
getコミットデータパラメータurlでpostコミットデータが暗号化され、urlでは表示されません
getリクエストのurlフォーマット:例えばwww.baidu.comがコミットしたパラメータ:name=123 pass=456表示の結果、www.baidu.com/?name=123&pass=456
バックグラウンド取得
getリクエスト:value=request.GET.get(【key】,【デフォルト】)values=requset.GET.getlist(【key】)
postリクエスト:value=request.POST.get(【key】,【デフォルト】)values=requset.POST.getlist(【key】)postリクエストは、表現に{%csrf_token%}を追加するか、csrf_tokenミドルウェアをキャンセルする必要があることに注意してください.
ケース:
1まずappsファイルのurlsにパスを書きます:2それからビューに関数を書きます:3プロジェクトを起動して、formを入力して、書いた選択ボックスが現れます4 get要求の中でボックスの中でusernameを入力して、チェックして、点はボタンを提出して、端末は自分の書いたデータを表示します5 post要求の中でusernameを入力して、チェックして、点はボタンを提出して、ホームページは403の標識が現れます(だから私たちは%csrf_token%}を加えたり、settingsでMIDDLEWAREでcsrfを注釈したりする必要があります).提出すれば私たちのデータが得られます.
1 url:
from django.urls import path,re_path
from . import views

urlpatterns = [
path('form',views.form_handler,name='form'),
    path('form_get',views.form_get_handler,name='form_get'),
    path('form_get', views.form_post_handler, name='form_post'),]

2 views:
def form_handler(request):
    return render(request,'form.html')

def form_get_handler(request):
    username = request.GET.get('username')
    hobbys = request.GET.getlist('hobby')
    print('username:',username)
    print('hobbys',hobbys)
    return HttpResponse('')

def form_post_handler(request):
    username = request.POST.get('username')
    hobbys = request.POST.getlist('hobby')
    print('username:', username)
    print('hobbys', hobbys)
    return HttpResponse('')

3 formフォームの作成
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>

<form action="{% url 'form_post' %}" method="post">
    username:
    <input type="text" name="username"><br/>
    hobby:
    <input type="checkbox" name="hobby" value="Python">Python
    <input type="checkbox" name="hobby" value="Java">Java
    <br>
    <input type="submit" value="submit">
</form>
</body>
</html>

4サービスを開始し、URLを入力し、データを提出すればよい.