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