Django創建App並簡單實現登錄模塊
什么是Django的APP?
此APP非andriodAPP。Django的APP可以理解為一個網站中的一個模塊,我們可以將每個模塊都單獨寫成一個APP,這樣可以讓項目變得相對整潔且更加好維護起來。
如何創建App?
1、創建Django工程 - BlogPorject
django-admin startproject BlogPorject
2、創建App
django-admin startapp application
App目錄介紹:
-
application
- admin.py: 網站后台管理相關
- apps.py:
- models.py: 寫和數據庫相關的內容
- tests.py: 寫測試代碼的文件
- views.py: 接收請求,處理數據 與M(數據庫)和T(templates 模版 )進行交互
- migrations:
簡單實現一個登陸模塊
1、配置settings,加上static和templates的配置(BlogPorject/settings.py)
2、畫所需要的HTML文件
login.html:表單提交的url "/myapp/loginx" 就是處理登錄信息的。
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>登錄</title>
</head>
<body>
<form action="/myapp/loginx">
賬號:<input type="text" name="account"><br>
密碼:<input type="password" name="pwd"><br>
<input type="submit" value="登錄">
</form>
</body>
</html>
index.html:登錄成功以后會跳轉到index頁面
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>首頁</title>
</head>
<body>
This is index page!
</body>
</html>
login_error.html:登錄失敗會跳轉到login_error頁面
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>登錄失敗</title>
</head>
<body>
登錄失敗!!!
</body>
</html>
3、實現對應的view方法(/application/views.py)
from django.shortcuts import render
# Create your views here.
def login(request):
"""進入到登錄頁面"""
return render(request, './login.html')
def loginx(request):
"""點擊登錄后的邏輯處理"""
account = request.GET['account']
pwd = request.GET['pwd']
if account == "desire" and pwd == "123456":
return render(request, './index.html')
else:
return render(request, './login_error.html')
4、配置application的路由(/application/urls.py)
from django.urls import path
from application import views
urlpatterns = [
path('login/', views.login),
path('loginx/', views.loginx)
]
5、配置主路由(/BlogPorject/urls.py)
from django.contrib import admin
from django.urls import path, include
from application import urls
urlpatterns = [
path('admin/', admin.site.urls),
path('myapp/', include(urls))
]