Django 新建account应用
一、應(yīng)用基本配置
1、在根目錄下新建account應(yīng)用。python manage.py startapp account
2、在項(xiàng)目根目錄的項(xiàng)目目錄的setting下的INSTALLED_APPS中添加 ‘a(chǎn)ccount’
3、在項(xiàng)目根目錄的項(xiàng)目目錄的url.py中進(jìn)行URL配置。添加
url(r'^account/',include('account.urls',namespace='account')),注意:將app_name=‘a(chǎn)ccount’寫在account.urls中
4、在account中建立urls.py文件。并添加代碼
from django.conf.urls import url from . import viewsfrom django.conf import settingsurlpatterns=[url(r'^login/$',views.user_login,name='user_login'), ]此處必須加‘.’.因?yàn)檫@個(gè)list中只有一個(gè)元素。否則系統(tǒng)會誤解。
views.user_login意味著必須在view.py中創(chuàng)建一個(gè)名為user_login的函數(shù)來響應(yīng)請求。
二、設(shè)計(jì)用戶登錄過程
1、在./account中建立forms.py文件,專門用于存放各種與表單有關(guān)的類。編寫
from django import formsclass LoginForm(forms.Form):username=forms.CharField()password=forms.CharField(widget=forms.PasswordInput)login=LoginForm() 創(chuàng)建未綁定的對象
dir(login)查看可用方法
主要關(guān)注以下幾種方法、屬性
- cleaned_data:以字典形式返回你注冊的用戶和密碼
- is_bound:判斷用戶是否綁定
- is_vaild():判斷輸入的用戶和密碼是否符合格式要求
2、編寫用戶登錄的視圖函數(shù),修改 account 應(yīng)用下的 views.py
from django.shortcuts import render from django.http import HttpResponse from django.contrib.auth import authenticate,login from .forms import LoginForm# Create your views here.def user_login(request):if request.method=='POST':login_form=LoginForm(request.POST)if login_form.is_valid():#判斷表單數(shù)據(jù)是否符合要求(比如不能為空之類的)cd=login_form.cleaned_datauser=authenticate(username=cd['username'],password=cd['password'])if user:login(request,user)return HttpResponse('Welcome Boys and Girls,you have logined successfully...')else:return HttpResponse('sorry,your input is error...')if request.method=='GET':login_form=LoginForm()return render(request,'account/login.html',{'form':login_form})3、編寫在./templates/account/login.html中。
{%extends 'base.html'%} {%block title%}登錄{%endblock%}{%block content%} <div class="row text-center vertical-middle-sm"><h1>Login</h1><p>input your username and password</p><form action="." class="form-horizontal" method="post">{%csrf_token%}{{form.as_p}}<input type="submit" value="Login"></form> </div> {%endblock%}{%csrf_token%} 這個(gè)必須有,只要在 form 標(biāo)簽內(nèi)就 OK。保證了前端可以通過 POST 方式提交數(shù)據(jù)。
{{form.as_p}} 實(shí)例對象的 as_p方法,使得表單數(shù)據(jù)呈現(xiàn)為一系列p標(biāo)簽,類似有 as_ul、as_table。
此時(shí)在網(wǎng)址中輸入http://localhost:8080/account/login 即可看到登錄界面
參考自:https://blog.csdn.net/lzw2016/article/details/80425242
總結(jié)
以上是生活随笔為你收集整理的Django 新建account应用的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: python 随机数
- 下一篇: Jmeter BeanShell采样器提