Python Web 框架 Djangopython
1、特色git
一、快速開發(用python開發、用數據庫ORM系統)web
二、大量內置應用(後臺管理系統admin、用戶認證系統auth、回話系統sessions)正則表達式
三、安全性高(表單驗證、SQL注入、跨站點攻擊)sql
四、易擴展(需求變動,增長應用便可)數據庫
2、目錄簡介django
一、wsgi.py (Python web service gateway interface) Python應用與web服務器之間的接口安全
二、urls.py 路徑映射服務器
三、settings.py (項目總配置文件,包含數據庫、web應用、時間等配置)session
四、__init__.py 聲明模塊
app
一、__init__.py 聲明模塊
二、migrations 數據移植(遷移)模塊
三、admin.py 該應用的後臺管理系統配置
四、apps.py 該應用的一些配置,Django-1.9之後自動生成
五、modles.py 數據模塊,使用ORM框架
六、test.py 自動化測試模塊
七、view.py 執行響應的代碼所在的模塊,代碼邏輯處理的主要地點(大部分代碼都寫在此處)
3、經常使用命令
一、建立項目 django-admin startproject myblog
二、建立app python manage.py startapp blog (建立app後需在根目錄下setting配置app)
三、生成數據表
python manage.py makemigrations app名(可選)
python manage.py migrate
四、查看SQL語句 python manage.py sqlmigrate 應用名 文件id
五、建立用戶 python manage.py createsuperuser
4、建表經常使用字段
一、models.AutoField 自增列= int(11)
若是沒有的話,默認會生成一個名稱爲 id 的列,若是要顯示的自定義一個自增列,必須將給列設置爲主鍵 primary_key=True。
二、models.CharField 字符串字段
必須 max_length 參數
三、models.BooleanField 布爾類型=tinyint(1)
不能爲空,Blank=True
四、models.ComaSeparatedIntegerField 用逗號分割的數字=varchar
繼承CharField,因此必須 max_lenght 參數
五、models.DateField 日期類型 date
對於參數,auto_now =True則每次更新都會更新這個時間;auto_now_add 則只是第一次建立添加,以後的更新再也不改變。
六、models.DateTimeField 日期類型 datetime
同DateField的參數
七、models.Decimal 十進制小數類型= decimal
必須指定整數位max_digits和小數位decimal_places
八、models.EmailField 字符串類型(正則表達式郵箱)=varchar
對字符串進行正則表達式
九、models.FloatField 浮點類型= double
十、models.IntegerField 整形
十一、models.BigIntegerField 長整形
5、配置admin
class ArticleAdmin(admin.ModelAdmin):
list_display = ('title', 'content', 'pub_time') 在admin系統顯示的字段
list_filter = ('pub_time', ) 在admin系統添加過濾器