django 配置文件的拆分

使用Django命令生成一个项目的基本结构时, 配置信息默认保存在和项目目录同名的目录下的settings.py文件里, 对于一个项目而言, 这样往往是不合适的, 在实际的开发中,需要将配置文件拆分为几个文件, 一些从始至终都不会改变的配置信息放在一个base.py文件里, 同时还需要将生产环境下和开发环境下存在差异的地方放在两个不同的配置文件里,便于管理.

拆分完之后还需要修改两个文件manage.py 和 typeidea/wsgi.py,Django启动文件需要知道settings文件路径。因此,需要把这两个文件中的这一行代码:

	os.environ.setdefault("DJANGO_SETTINGS_MODULE", "typeidea.setting")

替换为如下两行

	profile = os.environ.get('TYPEIDEA_PROFILE', 'develop')
	os.environ.setdefault("DJANGO_SETTINGS_MODULE", "typeidea.settings.%s" % profile)

注意:配置完以后不可以直接用pycharm运行,问题主要出在pycharm无法使用定义的环境变量(原因不明,有大佬说是因为pycharm 的进程是桌面环境的子进程,终端启动的时候才会读取 .bashrc ,设定的环境变量不是配置在系统级别,所以 pycharm 看不到这个环境变量),只能通过控制台输入python manage.py runserver 0.0.0.0:9000

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Django 的 Middleware 是一个类似于插件的组件,它可以对 Django 请求和响应的处理过程进行干预和修改,比如添加 HTTP Header、处理请求前后的逻辑、修改响应状态等。Django 中内置了一些 Middleware,同时也可以自己编写 Middleware。 在 Django配置文件 settings.py 中,可以通过 MIDDLEWARE 设置 Middleware 的顺序和启用状态。MIDDLEWARE 是一个列表,其中每个元素都表示一个 Middleware 的路径。例如: ``` MIDDLEWARE = [ 'django.middleware.security.SecurityMiddleware', 'django.contrib.sessions.middleware.SessionMiddleware', 'django.middleware.common.CommonMiddleware', 'django.middleware.csrf.CsrfViewMiddleware', 'django.contrib.auth.middleware.AuthenticationMiddleware', 'django.contrib.messages.middleware.MessageMiddleware', 'django.middleware.clickjacking.XFrameOptionsMiddleware', ] ``` 上面的配置表示启用了 Django 内置的一些 Middleware,它们的顺序是按照列表的顺序依次执行的。其中,`django.middleware.security.SecurityMiddleware` 是 Django 1.10 新增的 Middleware,用于提供一些基本的安全保护,比如防止跨站点请求攻击(CSRF)、点击劫持(Clickjacking)等。 需要注意的是,Middleware 的顺序非常重要,如果顺序不正确可能会导致一些问题。比如,如果 `django.middleware.csrf.CsrfViewMiddleware` 在 `django.contrib.auth.middleware.AuthenticationMiddleware` 的前面,可能会导致用户无法登录。因为在用户登录时,Django 会生成一个 CSRF Token,如果 CsrfViewMiddleware 已经执行完了,那么这个 Token 就不会再被生成了。所以,正确的顺序是 CsrfViewMiddleware 在 AuthenticationMiddleware 的后面。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值