您好,登錄后才能下訂單哦!
Django采用了MVT的軟件設計模式,即模型M,業務代碼V和模板T。
本文介紹了Django運行的基本配置。
一、構建簡單的MVT模型(三個文件夾,存放三種不同類型的文件):
????1、目錄:
????????????models:存放數據庫模型目錄
????????????template:存放模板文件目錄
????????????views:存放控制代碼目錄
二、Django基本說明:
????????1、安裝:把python目錄添加到系統的環境變量
pip?install?Django????????//使用python的pip命令安裝Django
????????????注意:
????????????????????1)、安裝的時候會提示報錯,提示“timeout”,原因:下載地址速度太慢,換在國內地址
?pip?install?Django?-i?https://pypi.tuna.tsinghua.edu.cn/simple
????????????????????**永久更換下載源地址:
???????????????????????????-? linux下,新建/修改/.pip/pip.conf文件,添加下列內容
????????????????????[global]???????????????????? ????????????????????timeout?=?300 ????????????????????index-url?=?https://pypi.tuna.tsinghua.edu.cn/simple ????????????????????[install] ????????????????????trusted-host?=?tsinghua.edu.cn
???????????????????????? ? - Windows下,在文件夾瀏覽窗口輸入%USERPROFILE%,新建\pip\pip.ini,添加下列內容:
????????????????????????????????????[global]???????????????????????????????????? ????????????????????????????????????timeout?=?300 ????????????????????????????????????index-url?=?https://pypi.tuna.tsinghua.edu.cn/simple ????????????????????????????????????[install] ????????????????????????????????????trusted-host=tsinghua.edu.cn
? ? ? ? ? ? ? ? ?? 2)、安裝時提示“No module named pip”
? ? ? ? ? ? ? ? ? ? ? ? 原因有二,1、沒有安裝pip,如果使用python.exe安裝,把python主目錄下的Scripts添加到環境變量
????????????????????????????????????????? 2、Windows10下,右鍵使用管理員權限運行cmd
????????????????????3)、pip下載下來的包直接存在python主目錄下的Scripts下,而Scripts目錄添加到了環境變量,所以安裝后,可以使用django這個命令確認安裝狀態
??????2、使用manager.py新建項目:把Django目錄添加到系統環境變量
????????????新建項目時,Django自動創建項目的目錄:
????????????-項目名:
????????????????-manage.py:命令行管理工具,提供了與Django交互的接口。
????????????????????常用命令,startapp name新建APP、makemagrations、migrate(Django的ORM)
????????????????-項目包名:以項目包命名的容器,主要實現配置和和管理功能。
????????????????????-__init__.py:代表python一個包,python2.0必須有,才能代表是一個包,python3可以沒有
????????????????????-settings.py:項目的配置文件,配置靜態文件地址和
????????????????????-urls.py:配置網站目錄,指定網址轉向哪個文件。
????????????????????-wsgi.py:一個 WSGI 兼容的 Web 服務器的接口,以便運行你的項目。它定義了TCP連接、HTTP原始請求和響應格式。
django-admin.exe?startproject?mysite????????//新建項目,名為mysite
????????3、啟動項目:啟動后就可以使用web瀏覽器訪問該網站
cd?mysite???????????????//進入mysite目錄 python?manage.py?runserver?127.0.0.1:8000???????//可以省略ip:port,默認本機ip和8000端口,也可指定ip:端口
????????4、創建一個APP:
???????????? ?? APP:相當于整個網站的一個模塊。比如:主站(index)\BBS\BLOG\Video\News等等,每一個都是一個獨立的頁面或功能。
python?manage.py?startapp?blog????????????//新建一個名字是blog的APP
????????????????新APP默認目錄:
????????????????-migrations包:修改數據表結構
????????????????-__init__:代表APP是個包。。。
????????????????-apps.py:配置當前App
????????????????-models.py:ORM,寫指定的類,通過命令可以創建數據庫結構。
????????????????-tests.py:單元測試
????????????????-views.py:業務代碼,存放后臺處理的代碼。
#配置urls.py指定網址訪問的頁面。APP要導入到views文件 import?blog.views #在urlpatterns列表添加下面值 url(r'^blog',blog.views.login),
????????5、templates和static文件夾:新建項目后需要創建這兩個文件夾。
????????????templates:存放.html類型的模板文件,在urls.py中可以更改設置
????????????static:存放靜態文件,比如JS/jQuery/CSS類型的文件,在settings.py中設置才能正常被使用。
????????????????????????根據個人喜好設置,可以在每個APP下設置,也可在manage.py同級目錄設定通用的static,
????????????以上兩個文件夾創建后的設置:
#增加settings.py文件templates的設置: TEMPLATES?=?['DIRS':?[os.path.join(BASE_DIR,'templates')]]???//修改dirs的值,指定為主目錄下的templates文件夾 #增加settings.py的static目錄的設置 STATICFILES_DIRS=(os.path.join(BASE_DIR,'static'),)
? ? ? ? 6、幾個錯誤:
????????????1)、form請求錯誤,原因:form里的action帶/,django里的urls地址路由沒帶/,只在django框架里的錯誤,
????????????解決方法,兩處/都刪掉或都加/
????????????2)、運行csrf錯誤,注釋掉csrf行,以后會對csrf進行設置?
????????????3)、指定全局static目錄后,無法加載CSS樣式,提示Resource interpreted as Stylesheet but transferred with MIME type application/x-css
#html加載的CSS文件 <link?rel='style'?texttype='text/css'?href='/static/css.css'/> #解決方法:在html首行加 {%load?static%} #如果不想每次在模版中加載靜態文件都使用load加載static標簽,那么可以在settings.py中的TEMPLATES/OPTIONS添加'builtins':['django.templatetags.static'],這樣以后在模版中就可以直接使用static標簽,而不用手動的load了。
'django.contrib.auth.middleware.AuthenticationMiddleware',
三、總結一個完整的HTTP請求過程:
????????
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。