• 博客园logo
  • 会员
  • 众包
  • 新闻
  • 博问
  • 闪存
  • 赞助商
  • HarmonyOS
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录
谢城
博客园    首页    新随笔    联系   管理    订阅  订阅

django项目配置

1.django的sttings配置

   1)注解MIDDLEWARE 内的一个路径

MIDDLEWARE = [
    'django.middleware.security.SecurityMiddleware',
    'django.contrib.sessions.middleware.SessionMiddleware',
    'django.middleware.common.CommonMiddleware',
    # 'django.middleware.csrf.CsrfViewMiddleware',# 如果这个不注解的话,前端使用form表单和ajax传输数据时要添加csrf_token,为了方便传输数据测试时可以注解,实际开发不用注解,
    'django.contrib.auth.middleware.AuthenticationMiddleware',
    'django.contrib.messages.middleware.MessageMiddleware',
    'django.middleware.clickjacking.XFrameOptionsMiddleware',
]

  

  2)建立项目后往sttings.py文件内结尾添加

STATICFILES_DIRS=(
    os.path.join(BASE_DIR,'static'),
)

     添加好后可以在项目内建立static模块,用来存放前端css,js等文件

 3)sttings.py配置数据库

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.mysql',
        'NAME': 'books',  ## 数据库名称
        'USER': 'root',
        'PASSWORD': '123',  ## 安装 mysql 数据库时,输入的 root 用户的密码
        'HOST': '127.0.0.1',
    }
}

  

4)指定后台数据库,是在当前目录下的 __init__.py文件中添加

import pymysql
pymysql.install_as_MySQLdb()

5)Terminal创建app

python manage.py startapp 自定义app名称
创建app的目录结构
		admin.py : 写和django-admin相关的配置
		apps: 对app的配置
		models: 数据表模型 (********)
		tests: 测试
		views: 视图函数 (*******)    

 

6)sttings.py注册app

INSTALLED_APPS = [
        'django.contrib.admin',
'django.contrib.auth',
		'django.contrib.contenttypes',
		'django.contrib.sessions',
		'django.contrib.messages',
		'django.contrib.staticfiles',
		'app02',自己注册的
		'app03',自己注册的
]

7)路由分组

urls.py

url(r'^app02/', include('app02.urls')),
url(r'^app03/', include('app03.urls')),

app下的路由

from app02.views import *
url(r'^index/', index)),
url(r'^login/', login)),

 这样设置后访问路径是:127.0.0.1:8000/app02/index

8)models.py创建表

class jurisdiction(models.Model):
     jname=models.CharField(max_length=20,null=True)
     path=models.CharField(max_length=100,null=True)
     jur_id=models.IntegerField()

 

9)在pycharm内的django项目下的Terminal框内输入命令 

python  manage.py makemigrations
					
python manage.py migrate #如果只输入这个命令的话,只会导入初始的auth相关的数据库,不会导入自己建立的数据库

 

10)sttings.py设置session的几种方式

1. SESSION_ENGINE = 'django.contrib.sessions.backends.db'   # 引擎(默认)
     
				SESSION_COOKIE_NAME = "sessionid"                       # Session的cookie保存在浏览器上时的key,即:sessionid=随机字符串(默认)
				SESSION_COOKIE_PATH = "/"                               # Session的cookie保存的路径(默认)
				SESSION_COOKIE_DOMAIN = None                             # Session的cookie保存的域名(默认)
				SESSION_COOKIE_SECURE = False                            # 是否Https传输cookie(默认)
				SESSION_COOKIE_HTTPONLY = True                           # 是否Session的cookie只支持http传输(默认)
				SESSION_COOKIE_AGE = 1209600                             # Session的cookie失效日期(2周)(默认)
				SESSION_EXPIRE_AT_BROWSER_CLOSE = False                  # 是否关闭浏览器使得Session过期(默认)
				SESSION_SAVE_EVERY_REQUEST = False                       # 是

  

2. SESSION_ENGINE = 'django.contrib.sessions.backends.cache'  # 引擎
					SESSION_CACHE_ALIAS = 'default'                            # 使用的缓存别名(默认内存缓存,也可以是memcache),此处别名依赖缓存的设置
				 
				 
					SESSION_COOKIE_NAME = "sessionid"                        # Session的cookie保存在浏览器上时的key,即:sessionid=随机字符串
					SESSION_COOKIE_PATH = "/"                                # Session的cookie保存的路径
					SESSION_COOKIE_DOMAIN = None                              # Session的cookie保存的域名
					SESSION_COOKIE_SECURE = False                             # 是否Https传输cookie
					SESSION_COOKIE_HTTPONLY = True                            # 是否Session的cookie只支持http传输
					SESSION_COOKIE_AGE = 1209600                              # Session的cookie失效日期(2周)
					SESSION_EXPIRE_AT_BROWSER_CLOSE = False                   # 是否关闭浏览器使得Session过期
					SESSION_SAVE_EVERY_REQUEST = False                        # 

  

3.  SESSION_ENGINE = 'django.contrib.sessions.backends.file'    # 引擎
				SESSION_FILE_PATH = None                                    # 缓存文件路径,如果为None,则使用tempfile模块获取一个临时地址tempfile.gettempdir()                                                            # 如:/var/folders/d3/j9tj0gz93dg06bmwxmhh6_xm0000gn/T
			 
			 
				SESSION_COOKIE_NAME = "sessionid"                          # Session的cookie保存在浏览器上时的key,即:sessionid=随机字符串
				SESSION_COOKIE_PATH = "/"                                  # Session的cookie保存的路径
				SESSION_COOKIE_DOMAIN = None                                # Session的cookie保存的域名
				SESSION_COOKIE_SECURE = False                               # 是否Https传输cookie
				SESSION_COOKIE_HTTPONLY = True                              # 是否Session的cookie只支持http传输
				SESSION_COOKIE_AGE = 1209600                                # Session的cookie失效日期(2周)
				SESSION_EXPIRE_AT_BROWSER_CLOSE = False                     # 是否关闭浏览器使得Session过期
				SESSION_SAVE_EVERY_REQUEST = False   

  

4. 配置 settings.py
 
				SESSION_ENGINE = 'django.contrib.sessions.backends.cached_db'     

 sttings.py

# 在settiongs中指定auth模块的方式
AUTH_USER_MODEL="app.userinfo"
"app.userinfo":指向继承AbstractUser类的userinfo类

 models示例:

class userinfo(AbstractUser):
    phone = models.CharField(max_length=11, null=None, blank=True)
    # 用户图片
    avatar = models.FileField(upload_to='avatar/', default='avatar/default.jpg')
    # 用户创建时间
    create_time = models.DateField(auto_now_add=True)
    # 关联站点
    blog = models.OneToOneField(to='Blog', null=True)

  

 

posted @ 2019-07-17 18:59  谢城  阅读(311)  评论(0)    收藏  举报
刷新页面返回顶部
博客园  ©  2004-2025
浙公网安备 33010602011771号 浙ICP备2021040463号-3