1 django settings 詳細資料 2 3 4 ############ 開始項目 5 python3.5 pip -m install django==1.11.7 指定版本安裝 6 pip3 install django 安裝django 7 django-admin.py startproject mysite 創建django項目 8 python manage.py startapp blog 創建應用 9 python manage.py runserver 8080 啟動django 10 11 python manage.py makemigrations 同步更新數據庫 --fake 12 python manage.py migrate 13 14 python manage.py createsuperuser 創建admin超級用戶 15 16 17 18 ############# 添加項目 19 INSTALLED_APPS = [ 20 'django.contrib.admin', 21 'django.contrib.auth', 22 'django.contrib.contenttypes', 23 'django.contrib.sessions', 24 'django.contrib.messages', 25 'django.contrib.staticfiles', 26 'app01.apps.App01Config', # 添加項目,不然找不到項目位置 27 ] 28 29 ############## 中間鍵 30 MIDDLEWARE = [ 31 'django.middleware.security.SecurityMiddleware', 32 'django.contrib.sessions.middleware.SessionMiddleware', 33 'django.middleware.common.CommonMiddleware', 34 # 'django.middleware.csrf.CsrfViewMiddleware', 35 'django.contrib.auth.middleware.AuthenticationMiddleware', 36 'django.contrib.messages.middleware.MessageMiddleware', 37 'django.middleware.clickjacking.XFrameOptionsMiddleware', 38 ########## 在這里添加,如果不是同目錄,需要倒入,其實就是類 39 'Mymiddle.M1', 40 'Mymiddle.M2', 41 42 ] 43 44 45 ############## 模板html位置。 'DIRS': [os.path.join(BASE_DIR, 'templates'),], 有的版本沒有寫這個 46 TEMPLATES = [ 47 { 48 'BACKEND': 'django.template.backends.django.DjangoTemplates', 49 'DIRS': [os.path.join(BASE_DIR, 'templates')] 50 , 51 'APP_DIRS': True, 52 'OPTIONS': { 53 'context_processors': [ 54 'django.template.context_processors.debug', 55 'django.template.context_processors.request', 56 'django.contrib.auth.context_processors.auth', 57 'django.contrib.messages.context_processors.messages', 58 ], 59 }, 60 }, 61 ] 62 63 64 65 # 這里更改數據庫,# ###################mysql數據庫 66 DATABASES = { 67 'default': { 68 'ENGINE': 'django.db.backends.sqlite3', 69 'NAME': os.path.join(BASE_DIR, 'db.sqlite3'), 70 } 71 } 72 73 74 # DATABASES = { 75 # 'default': { 76 # 'ENGINE': 'django.db.backends.mysql', 77 # 'NAME': 'blog',#數據庫名 78 # 'USER': 'root', 79 # 'PASSWORD': '123', 80 # 'HOST':'',#默認localhost 81 # 'PORT':'3306' 82 # } 83 # } 84 85 86 # app01 __init__.# py中寫這個,才能指向mysql數據庫 87 # import pymysql 88 # pymysql.install_as_MySQLdb() 89 90 91 92 ####################### 靜態文件配置 93 STATIC_URL = '/static/' 94 95 STATICFILES_DIRS=[ 96 os.path.join(BASE_DIR,'static') 97 ] 98 99 100 ####################### orm操作,可以打印出來mysql操作 101 LOGGING = { 102 'version': 1, 103 'disable_existing_loggers': False, 104 'handlers': { 105 'console':{ 106 'level':'DEBUG', 107 'class':'logging.StreamHandler', 108 }, 109 }, 110 'loggers': { 111 'django.db.backends': { 112 'handlers': ['console'], 113 'propagate': True, 114 'level':'DEBUG', 115 }, 116 } 117 } 118 119 120 121 ######################### # media 配置 122 MEDIA_URL = '/media/' 123 MEDIA_ROOT = os.path.join(BASE_DIR,'app01','media') 124 125 urls 對應 126 # media 配置,這樣可以通過url訪問該目錄下文件,例如圖片 127 url(r'^media/(?P<path>.*)$', serve,{'document_root':settings.MEDIA_ROOT}), 128 ] 129 130 131 ######################### admin.py 這里添加數據庫表,可以通過http://127.0.0.1/admin視圖訪問 132 from . models import * 133 admin.site.register(UserInfo) 134 admin.site.register(Blog) 135 admin.site.register(HomeCategory) 136 admin.site.register(Tag) 137 admin.site.register(Article) 138 admin.site.register(ArticleDetail) 139 admin.site.register(Comment) 140 admin.site.register(ArticleUpDown) 141 admin.site.register(Article2Tag) 142 admin.site.register(SiteCategory) 143 admin.site.register(SiteDetaiCategory) 144 145 146 ########################### 147 # 因為要利用auth模塊認證登錄,關聯auth_user表(django自帶),需要繼承AbstractUser,就可以跟auth.user一對一關系 models 里面導入 148 from django.contrib.auth.models import AbstractUser 149 class UserInfo(AbstractUser):... 下面寫該表字段,就會和auth.user表一對一 150 # 有了這句,model才能正確的繼承,從而使用auth.user settings 里面寫入 151 AUTH_USER_MODEL = "app01.UserInfo"
1 models里面加入,可以通過admin看到表名字,當然是你自定義的 2 class Meta: 3 verbose_name_plural = '權限表'
admin視圖,可以看到表字段成在一個頁面顯示,一個字段是一列 from django.contrib import admin # Register your models here. class PermissionCongfig(admin.ModelAdmin): # list_display = ['title','url','code'] # 字段 from rbac import models admin.site.register(models.Permission,PermissionCongfig) # 注意逗號,后面加入類
上面提到過如何修改django的數據庫,如何連接到的配置,還有一點就是要在app或者項目的初始化文件__init__中加入: import pymysql pymysql.install_as_MySQLdb()
{% load staticfiles %} <linkrel="stylesheet"href{%static"stark/bootstrap/css/bootstrap.css" %}"/> # 靜態html文件,通常用load引入