Python后臺開發(fā)Django的教程詳解(啟動)
Django版本為:2.1.7
Python的web框架,MTV思想
MVC
Model(模板文件,數(shù)據(jù)庫操作) view(視圖模板文件 )controller(業(yè)務(wù)處理)
MTV
Model(模板文件,數(shù)據(jù)庫操作) template(視圖模板文件) view(業(yè)務(wù)處理)
安裝及訪問
安裝
pip3 install django
創(chuàng)建目錄
如win:在需要創(chuàng)建目錄的文件夾按住shift+鼠標(biāo)右鍵打開命令行,創(chuàng)建dongjg工程目錄
C:\Users\東東\AppData\Local\Programs\Python\Python37\Scripts\django-admin.exe startproject dongjg
開啟服務(wù)
其中manage.py需對應(yīng)工程目錄
如果網(wǎng)站需要外部訪問還需在工程目錄的settings.py文件中設(shè)置【ALLOWED_HOSTS = ["*"]】
python manage.py runserver 0.0.0.0:8000
訪問測試
目錄介紹
工程目錄結(jié)構(gòu)

無APP的測試頁面
在urls.py中添加簡單的測試頁面
from django.contrib import admin
from django.urls import path
#新建處理方法
from django.shortcuts import HttpResponse
def homex(requestx):
return HttpResponse("東小東【dongxiaodong】")
urlpatterns = [
path('admin/', admin.site.urls),
path("dong",homex),#添加URL對應(yīng)關(guān)系
]
創(chuàng)建APP及基本操作
可以實現(xiàn)多個模塊效果,如后臺管理、用戶登入等
python manage.py startapp dongapp2
APP的目錄結(jié)構(gòu)
migrations文件夾 #數(shù)據(jù)庫操作記錄(表結(jié)構(gòu)修改記錄)
admin.py #Django的后臺管理頁
models.py #創(chuàng)建數(shù)據(jù)庫結(jié)構(gòu)
apps.py #當(dāng)前app的配置文件
views.py #業(yè)務(wù)代碼
tests.py #單元測試
路由對應(yīng)方法(FBV):
在dongapp2/ views.py
from django.shortcuts import HttpResponse
def homex(requestx):
return HttpResponse("東小東【dongxiaodong】")
在urls.py
from django.contrib import admin
from django.urls import path
from dongapp2 import views
urlpatterns = [
path('admin/', admin.site.urls),
path("dong",views.homex),#添加URL對應(yīng)關(guān)系
]
路由對應(yīng)類(CBV)
在dongapp2/ views.py
from django.views import View
from django.shortcuts import HttpResponse
from django.shortcuts import render #導(dǎo)入
class DongClass(View):
def get(self,requestx):#當(dāng)請求為get時進(jìn)入
#return HttpResponse(requestx.GET.get("gdax","無數(shù)據(jù)"))
return render(requestx, "loginx.html", {"dongx": 12}) # 返回文件
def post(self,requestx):#當(dāng)請求為POST時進(jìn)入
return HttpResponse(requestx.POST.get("user","無數(shù)據(jù)"))
在urls.py
path("cdong",views.DongClass.as_view()),
靜態(tài)文件(static)
存放一些css樣式、圖片、js代碼等
外部訪問訪問:http://127.0.0.1:8000/static/img/an.png
在setting.py中,設(shè)置靜態(tài)文件存放位置

在模板HTML文件中使用
<link rel="stylesheet" href="static/dong.css" rel="external nofollow" >
數(shù)據(jù)獲取相關(guān)
表單提交測試:
在setting.py中注釋掉下面一句,即可通過表單添加【action="dong"】進(jìn)行數(shù)據(jù)提交,如果不注釋需參考CSR保護(hù)

獲取訪問數(shù)據(jù)
#控制臺輸出所有的請求信息
for k,v in requestx.environ.items():
print(k,"----->",v)
print("你的設(shè)備基本信息:",requestx.environ.get("HTTP_USER_AGENT","w"))
print("你的IP地址:",requestx.environ.get("REMOTE_ADDR","w"))
xx=requestx.path_info #獲取url,如http://127.0.0.1:8000/x1/x2/xxxxcd3,輸出:/x1/x2/xxxxcd3
methodx = requestx.method #得到訪問方式,輸出:GET POST
#userx1=requestx.POST["user"] #獲取POST值,如果name不存在會報錯
userx2=requestx.POST.get("user","xxx") #獲取POST值,如果不存在則輸出xxx
響應(yīng)頭設(shè)置
# 本地頁面跳轉(zhuǎn)
from django.shortcuts import redirect # 導(dǎo)入
retx = redirect("dong/")
# 返回文件,并匹配值
from django.shortcuts import render #導(dǎo)入
retx= render(requestx, "loginx.html",{"dongkk1":"替換值1","dongkk2":"替換值2"})
#返回字符串
from django.shortcuts import HttpResponse
retx=HttpResponse("東小東【dongxiaodong】")
#設(shè)置響應(yīng)頭
retx["tttt"]="tttvvvvv"
return retx
復(fù)選框測試:
獲取數(shù)據(jù),獲取數(shù)據(jù)到一個列表中
listx=requestx.POST.getlist("boxd")
復(fù)選框
<input type="checkbox" name="boxd" value="1xx" >選項1 <input type="checkbox" name="boxd" value="xx2" >選項2 ……..
文件上傳
fileobjx=requestx.FILES.get("dongfile")#得到文件對象
filenamex=fileobjx.name#得到文件名
filesize=fileobjx.size#文件大小
f=open("static/img/"+filenamex,"wb")#創(chuàng)建新文件保存數(shù)據(jù)
for datax in fileobjx.chunks():#接收數(shù)據(jù),可以不用寫.chunks(),默認(rèn)會調(diào)用
f.write(datax)
f.close()
總結(jié)
以上所述是小編給大家介紹的Python后臺開發(fā)Django的教程詳解(啟動),希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復(fù)大家的。在此也非常感謝大家對腳本之家網(wǎng)站的支持!
相關(guān)文章
Python?matplotlib實現(xiàn)多子圖布局
多子圖布局是指在一個圖像中同時顯示多個子圖,每個子圖可以是獨立的圖形或者是相互關(guān)聯(lián)的圖形,下面我們就來了解下matplotlib是如何實現(xiàn)多子圖布局的吧2023-12-12
Django動態(tài)展示Pyecharts圖表數(shù)據(jù)的幾種方法
本文主要介紹了Django動態(tài)展示Pyecharts圖表數(shù)據(jù)的幾種方法,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2021-08-08
Django 響應(yīng)數(shù)據(jù)response的返回源碼詳解
這篇文章主要介紹了Django 響應(yīng)數(shù)據(jù)response的返回源碼詳解,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下2019-08-08

