django-settings.py配置


  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引入

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM