zoukankan      html  css  js  c++  java
  • django初始化后一些常规重置工作

    配置重置

    1. 执行下面代码创建django的一个项目pt_edu:

    django-admin startproject pt_edu

     2.创建config包文件夹,在config包文件夹下创建两个py文件,分别为develop.py和product.py:

     3.将下面的代码分别加入manage.py、asgi.py、wsgi.py替换:

    # os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'pt_edu.settings')
    # 可以通过 环境变量PROJECT_PROFILE为develop或者 product,让django 加载不同的配置
    profile = os.environ.get('PROJECT_PROFILE', 'develop')
    os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'pt_edu.config.%s' % profile)

    manage.py如下:

    #!/usr/bin/env python
    """Django's command-line utility for administrative tasks."""
    import os
    import sys
    
    
    def main():
        # os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'pt_edu.settings')
        # 可以通过 环境变量PROJECT_PROFILE为develop或者 product,让django 加载不同的配置
        profile = os.environ.get('PROJECT_PROFILE', 'develop')
        os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'pt_edu.config.%s' % profile)
        try:
            from django.core.management import execute_from_command_line
        except ImportError as exc:
            raise ImportError(
                "Couldn't import Django. Are you sure it's installed and "
                "available on your PYTHONPATH environment variable? Did you "
                "forget to activate a virtual environment?"
            ) from exc
        execute_from_command_line(sys.argv)
    
    
    if __name__ == '__main__':
        main()

    asgi.py如下:

    """
    ASGI config for pt_edu project.
    
    It exposes the ASGI callable as a module-level variable named ``application``.
    
    For more information on this file, see
    https://docs.djangoproject.com/en/3.0/howto/deployment/asgi/
    """
    
    import os
    
    from django.core.asgi import get_asgi_application
    
    # os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'pt_edu.settings')
    # 可以通过 环境变量PROJECT_PROFILE为develop或者 product,让django 加载不同的配置
    profile = os.environ.get('PROJECT_PROFILE', 'develop')
    os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'pt_edu.config.%s' % profile)
    
    application = get_asgi_application()

    wsgi.py如下:

    """
    WSGI config for pt_edu project.
    
    It exposes the WSGI callable as a module-level variable named ``application``.
    
    For more information on this file, see
    https://docs.djangoproject.com/en/3.0/howto/deployment/wsgi/
    """
    
    import os
    
    from django.core.wsgi import get_wsgi_application
    
    # os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'pt_edu.settings')
    # 可以通过 环境变量PROJECT_PROFILE为develop或者 product,让django 加载不同的配置
    profile = os.environ.get('PROJECT_PROFILE', 'develop')
    os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'pt_edu.config.%s' % profile)
    
    application = get_wsgi_application()

    4.测试环境默认加载 develop配置,生产环境需要设置环境变量进行启动:

    [设置环境变量]
    windows:  set PROJECT_PROFILE=product
    PowerShell: $env:PROJECT_PROFILE="product"
    linux: export PROJECT_PROFILE=product

    5.develop.py配置参考如下:

    from ..settings import *
    
    DEBUG = True
    
    DATABASES = {
        'default': {
            'ENGINE': 'django.db.backends.mysql',
            'NAME': 'django_db',
            'USER': 'root',
            'PASSWORD': '123456',
            'HOST': '127.0.0.1',
            'PORT': '3306',
        }
    }

    6.product.py配置参考如下(这个文件不能添加至git里面):

    同develop.py就可以了。

  • 相关阅读:
    linux centos7 如何安装mysql
    Json转换 在java中的应用
    最最简单的spring mvc + Maven项目
    windows下 申请免费ssl证书的方法 (letsencrypt)
    PowerDesigner中Table视图同时显示Code和Name
    在linux中 部署 mongo 数据库服务端
    Java保存图片到数据库Blob格式
    MyBatis mapper记录
    vue防止多次点击,重复请求
    金额的单位转换,元转分
  • 原文地址:https://www.cnblogs.com/jiangxiaobo/p/12584567.html
Copyright © 2011-2022 走看看