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