標籤:python django 模板
一、下載與安裝(Windows版)
:https://www.djangoproject.com/download/
或者通過命令:pip install django==1.11.2進行安裝(Python3使用pip3)推薦使用此版本
安裝完成後找到django-admin.exe所在的路徑,將其添加到環境變數Path中,以便於今後在任何位置運行命令。
二、建立django程式
1、終端方式建立
django-admin startproject my_site #建立一個名稱為my_site的django程式,即檔案夾,在哪個目錄執行命令即在那個目錄建立
執行成功之後會組建目錄結構:
650) this.width=650;" src="https://s2.51cto.com/wyfs02/M00/9A/25/wKioL1lSB2ShsXwBAAC2OQb5dGg897.png" title="QQ20170627152015.png" alt="wKioL1lSB2ShsXwBAAC2OQb5dGg897.png" />
執行:python manage.py runserver 127.0.0.1:8000
這時,django已經在本地跑起來了...
其他常用命令:
python manage.py runserver 0.0.0.0 #不限定IP和連接埠
python manage.py startapp appname #在項目中建立app即不同的功能模組
python manage.py syncdb #同步資料庫
python manage.py makemigrations #基於當前的model建立新的遷移策略檔案
python manage.py migrate #用於執行遷移動作
python manage.py createsuperuser #建立超級管理員
註:migration是基於App的, 因此, 我們可以針對某些app不啟用migration功能
2、IDE方式建立django項目
工具:pycharm
步驟:File---NewProject---Django---選擇好Python解譯器然後點擊“create”即可搞定
三、配置
1、設定資料庫
DATABASES = { ‘default‘: { ‘ENGINE‘: ‘django.db.backends.mysql‘, ‘NAME‘:‘dbname‘, ‘USER‘: ‘root‘, ‘PASSWORD‘: ‘xxx‘, ‘HOST‘: ‘‘, ‘PORT‘: ‘‘, }}
可在與項目名同名的目錄中找到settings.py檔案然後將預設的DATABASES項進行修改,Django支援多種資料庫,上述為mysql配置方式,詳情請參考官方文檔
另外,Django預設的串連mysql的模組為MysqlDB,而python3中還沒有此模組,需要使用pymysql,這時需要在__init__.py中匯入pymysql並設定
import pymysqlpymysql.install_as_MySQLdb()
2、模板配置
TEMPLATE_DIRS = ( os.path.join(BASE_DIR,‘templates‘), )
此項一般不用設定,瞭解其是放置模板檔案(html)的即可
3、靜態檔案路徑
STATICFILES_DIRS = ( os.path.join(BASE_DIR,‘static‘), )
此目錄放置網站所用到的圖片、媒體、樣式、外掛程式等檔案
4、剛接觸django,建議先注釋掉settings.py檔案中的以下一行,後面做以解釋,不然測試時有可能出現錯誤
MIDDLEWARE中的:# ‘django.middleware.csrf.CsrfViewMiddleware‘,
四、路由系統
所謂路由,其實就是路徑,導向,即一個URL請求來到伺服器端之後,django怎麼取匹配這個url並且得需要判斷這個url具體應該訪問到哪些資源或者定位到哪個地方,然後再由相應的地方處理此請求並且返回給用戶端。
1、單一路由對應:一個url對應一個處理函數,即
url(r‘^index$‘, views.index),
2、基於正則的路由
url(r‘^index/(\d*)‘, views.index), url(r‘^manage/(?P<name>\w*)/(?P<id>\d*)‘, views.manage),
3、添加額外的參數
url(r‘^manage/(?P<name>\w*)‘, views.manage,{‘id‘:333}),
4、為路由映射設定名稱
url(r‘^home‘, views.home, name=‘h1‘), url(r‘^index/(\d*)‘, views.index, name=‘h2‘),
設定名稱之後,可以在不同的地方調用,如:
模板中使用產生URL {% url ‘h2‘ 2012 %}
函數中使用產生URL reverse(‘h2‘, args=(2012,)) 路徑:django.urls.reverse
Model中使用擷取URL 自訂get_absolute_url() 方法
5、根據app對路由規則進行分類(路由分發)
url(r‘^web/‘,include(‘web.urls‘)),
django中的路由系統和其他語言的架構有所不同,在django中每一個請求的url都要有一條路由映射,這樣才能將請求交給對一個的view中的函數去處理。其他大部分的Web架構則是對一類的url請求做一條路由映射,從而是路由系統變得簡潔。
五、admin
django amdin是django提供的一個後台管理頁面,改管理頁面提供完善的html和css,使得你在通過Model建立完資料庫表之後,就可以對資料進行增刪改查,而使用django admin 則需要以下步驟:
建立後台管理員
配置url
註冊和配置django admin後台管理頁面
1、建立後台管理員
python manage.py createsuperuser
2、配置後台管理url
url(r‘^admin/‘, include(admin.site.urls))
3、註冊和配置django admin後台管理頁面
admin.py中執行如下代碼:
from django.contrib import admin from app01 import models admin.site.register(models.UserType)
另外,還可通過Bootstrap給後台管理頁面添加樣式,讓頁面好看起來
WEB架構之---Django初級篇