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

 

posted @ 2017-12-29 19:30  liqianlong  阅读(1912)  评论(1编辑  收藏  举报