日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Django 新建account应用

發(fā)布時(shí)間:2025/3/15 编程问答 17 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Django 新建account应用 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

一、應(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)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。