美文网首页《Django By Example》
Django setting.py 文件设置

Django setting.py 文件设置

作者: 镜kong | 来源:发表于2017-12-07 11:13 被阅读11次

    setting.py 文件是django项目最重要的配置文件

    通常在本地开发的时候和 部署在生产服务器中时有些配置是不同的 比如 DEBUG = True/False 等,如何管理多环境下的 setting.py 文件呢?

    1 配置两份完全不通的配置文件 不通环境下通过环境变量或启动服务器的工具来 指定要启动的配置文件
    2 将配置文件分离 base.py local.py project.py 通用的配置放在base 本地和生产的差异部分分别放在 local 和 project local和 project 分别继承base 这种方法和 1 差不多 只是 更优雅点。不过我觉得上述两种方法还要配置服务器端比较麻烦。
    3.维护一份配置文件 进行判断 我使用这种方法

    import socket
    
    # 通过导入socket模块 来获取本地的主机名 来判断现在是 本地还是生产环境(ubunt-virtual-machine 就是我的生产服务器的主机名)
    if socket.gethostname() == 'ubunt-virtual-machine':
        DEBUG = False
        ALLOWED_HOSTS = ['*']
        STATIC_ROOT = os.path.join(BASE_DIR, 'static')
        INSTALLED_APPS = [
            'django.contrib.admin',
            'django.contrib.auth',
            'django.contrib.contenttypes',
            'django.contrib.sessions',
            'django.contrib.messages',
            'django.contrib.staticfiles',
            'app.apps.AppConfig',
            'django.contrib.sites',
            'allauth',
            'allauth.account',
            'allauth.socialaccount',
            'ckeditor',
            'ckeditor_uploader',
            'gunicorn',
        ]
    else:
        DEBUG = True
        ALLOWED_HOSTS = []
    

    然后进行差异设置

    相关文章

      网友评论

        本文标题:Django setting.py 文件设置

        本文链接:https://www.haomeiwen.com/subject/cbhdixtx.html