Django---簡單from表單提交


表單提交可能會報錯,注意一行代碼就可以解決:

簡單配置路由:

簡單表單提交:

<form action="/index/" method="post">
    <p><input type="text" name="username" placeholder="請輸入用戶名"></p>
    <p><input type="text" name="password" placeholder="請輸入密碼"></p>
    <p><input type="submit" value="提交"></p>
</form>

 可見上面的提交還是提交到當前方法:可以通過判斷提交方式來判斷是提交表單還是請求頁面:

def index(request):
    #return HttpResponse("hello word")
    if request.method == 'POST':
        u = request.POST['username']
        p = request.POST['password']
        print(u,p)
    return render(request,'index.html')

這種接受如果,接受不到就會報錯,所以都是這樣接受的:

def index(request):
    #return HttpResponse("hello word")
    if request.method == 'POST':
        u = request.POST.get('username',None)
        p = request.POST.get('password',None)
        print(u,p)
        if u =='123' and p == '456':
            from django.shortcuts import redirect
            return redirect("http://www.baidu.com")
    return render(request,'index.html')

 示例demo:

from django.shortcuts import render
from django.shortcuts import HttpResponse
#coding=utf-8
def index(request):
    #return HttpResponse("hello word")
    error_msg = ''
    if request.method == 'POST':
        u = request.POST.get('username',None)
        p = request.POST.get('password',None)
        print(u,p)
        if u =='123' and p == '456':
            from django.shortcuts import redirect
            return redirect("/index/")
        else:
            error_msg = "failse to login"
    return render(request,'index.html',{'error_msg':error_msg})

模板:

<form action="/index/" method="post">
    <p><input type="text" name="username" placeholder="請輸入用戶名"></p>
    <p><input type="text" name="password" placeholder="請輸入密碼"></p>
    <p><input type="submit" value="提交">{{ error_msg }}</p>
</form>

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM