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+鼠標右鍵打開命令行,創(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 #當前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):#當請求為get時進入 #return HttpResponse(requestx.GET.get("gdax","無數(shù)據(jù)")) return render(requestx, "loginx.html", {"dongx": 12}) # 返回文件 def post(self,requestx):#當請求為POST時進入 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"】進行數(shù)據(jù)提交,如果不注釋需參考CSR保護
獲取訪問數(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(),默認會調(diào)用 f.write(datax) f.close()
總結(jié)
以上所述是小編給大家介紹的Python后臺開發(fā)Django的教程詳解(啟動),希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復(fù)大家的。在此也非常感謝大家對腳本之家網(wǎng)站的支持!
相關(guān)文章
淺談pycharm導(dǎo)入pandas包遇到的問題及解決
這篇文章主要介紹了淺談pycharm導(dǎo)入pandas包遇到的問題及解決方式,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-06-06pandas.DataFrame.from_dict直接從字典構(gòu)建DataFrame的方法
本文主要介紹了pandas.DataFrame.from_dict直接從字典構(gòu)建DataFrame的方法,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2022-06-06python2 與python3的print區(qū)別小結(jié)
這篇文章主要介紹了python2 與python3的print區(qū)別小結(jié),需要的朋友可以參考下2018-01-01python如何獲取apk的packagename和activity
這篇文章主要介紹了python如何獲取apk的packagename和activity,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下2020-01-01pandas如何將表中的字符串轉(zhuǎn)成數(shù)值型
在用pd.read_csv讀數(shù)據(jù)時,將要轉(zhuǎn)換數(shù)據(jù)類型的列名和類型名構(gòu)成字典,傳給dtype,怎么轉(zhuǎn)換呢,下面小編給大家分享下pandas將表中的字符串轉(zhuǎn)成數(shù)值型,感興趣的朋友一起看看吧2023-02-02