Django開發(fā)登錄功能

1.創(chuàng)建app應用程序

一般一個項目包含多個app應用程序(當然,通用的app也可以在多個項目中使用) 下面我們?yōu)閘oginweb項目,創(chuàng)建login

#1激活虛擬環(huán)境

cd?D:\djangotest

djangoenv\Scripts\activate

#2切到django項目中

cd?loginweb

#3創(chuàng)建一個叫l(wèi)ogin的應用

django-admin startapp login

2.注冊app

app應用程序創(chuàng)建以后,必須把app注冊到Django,才能夠被Django項目所管理。我們只需要把login應用的名稱,配置到 loginweb/settings.py文件中即可。如下圖所示:

注冊app

3.Django視圖

Django視圖的作用:用于接受Web請求并且返回Web響應的簡單Python 函數(shù)。該函數(shù)一般定義在各自應用的views.py文件中。在視圖函數(shù)中,有 兩個重要的對象:請求對象和響應對象。

下面是一個最簡單的視圖函數(shù):

# 例:在login/views.py 中

from?django.http?import?HttpResponse

# Create your views here.

def?login(request):

? ? ?return?HttpResponse("登錄頁面")

其中:request參數(shù)為必填參數(shù),代表用戶的請求,它是HttpRequest對象

4.Django路由

Django的路由定義文件為:項目目錄urls.py文件。我們所有的路由配置,都以列表的方式,定義在urls.py文件中,添加我們想要的路由

# 例:在loginweb/urls.py 中

from?django.contrib?import?admin

from?django.urls?import?path

from?login?import?views

urlpatterns?= [

path("admin/",?admin.site.urls),

path("login/",views.login)

]

5.啟動Django項目

在開發(fā)環(huán)境下,我們需要在本地啟動Django項目,來開發(fā)與調(diào)試我們的代 碼。啟動Django項目命令如下:

python manage.py runserver [port]

#[port] 為應用訪問端口,可以缺省不寫,默認為8000。

此時,我們就可以用瀏覽器訪問我們的項目了。結(jié)果如下圖所示


訪問登錄頁面

訪問我們寫好的路由

6.登錄功能改良

在login底下新寫建一個templates目錄,存放編寫的html前端頁面

放前端頁面的目錄

login.html

<!DOCTYPE html>

<html?lang="en">

<head>

<meta?charset="UTF-8">

<title>登錄頁面</title>

<style>

body{

text-align:center;

? ? ? }

</style>

</head>

<body>

<form?action="/login/"?method="post">

? {% csrf_token %}

<h1?align="center">登錄頁面</h1>

<p?class="divs">

<label?for="username">用戶名:</label>

<input?type="text"?id="username"?name="username"?align="center">

</p>

<p?class="divs">

&nbsp&nbsp&nbsp<label?for="password">密碼:</label>

<input?type="password"?id="password"?name="password">

</p>

<input?type="submit"?value="登錄">

<span?style="color:red">{{ error }}</span>

</form>

</body>

</html>

index.html

<!DOCTYPE html>

<html?lang="en">

<head>

<meta?charset="UTF-8">

<title>這里是主頁</title>

<style>

h1?{?color:red?}

</style>

</head>

<body>

<h1>這里是主頁</h1>

</body>

</html>

修改視圖函數(shù)

修改loginweb/urls.py

from?django.contrib?import?admin

from?django.urls?import?path

from?login?import?views

urlpatterns?= [

path("admin/",?admin.site.urls),

path("login/",views.login),

path("index/",views.index)

]

再次啟動Django項目

python manage.py runserver [port]

#[port] 為應用訪問端口,可以缺省不寫,默認為8000。

訪問http://127.0.0.1:8000/login/項目

輸入不是用戶名密碼不是admin/123456

輸入admin/123456點擊登錄 跳轉(zhuǎn)到主頁面

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容