如何实现Django项目中的生产与测试环境有效分离?

2026-06-11 08:341阅读0评论SEO资源
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计409个文字,预计阅读时间需要2分钟。

如何实现Django项目中的生产与测试环境有效分离?

Django生产与测试环境分离:在`settings.py`同级目录下新建`settings`文件夹,并在其中创建`__init__.py`、`base.py`、`develop.py`、`product.py`文件。将`settings.py`中的通用部分全部复制到`base.py`中,动态内容根据环境配置。

django-生产和测试环境分离

如何实现Django项目中的生产与测试环境有效分离?


  • 在settings.py的同级目录下新建settings的文件夹
  • 在settings文件夹下新建
    • __init__.py
    • base.py
    • develop.py
    • product.py
  • 将settings.py里面的通用部分全部复制到base里面,变动的内容如: 数据库的配置和DEBUG等除外
  • 在develop里面将base里的内容全部导入
    • from .base import *

    • 将数据库等变动的信息加入即可
  • 修改BASE_DIR
    • BASE_DIR = os.path.dirname(os.path.dirname(os.path.dirname(os.path.abspath(__file__))))

    • BASE_DIR为项目的根目录,此时的根目录相对于该配置文件的上2级目录,就在原来的BASE_DIR的基础上面再加一层os.path.dirname即可
  • 修改wsgi和manage.py
    • 1 import os 2 3 from django.core.wsgi import get_wsgi_application 4 5 profile = os.environ.get(‘PROJECT_PROFILE‘, ‘develop‘) 6 7 os.environ.setdefault(‘DJANGO_SETTINGS_MODULE‘, ‘ActivityApi.settings.%s‘ % profile) 8 9 application = get_wsgi_application()

      wsgi.py

    • 1 #!/usr/bin/env python 2 """Django‘s command-line utility for administrative tasks.""" 3 import os 4 import sys 5 6 7 def main(): 8 profile = os.environ.get(‘PROJECT_PROFILE‘, ‘develop‘) 9 os.environ.setdefault(‘DJANGO_SETTINGS_MODULE‘, ‘ActivityApi.settings.%s‘ % profile) 10 try: 11 from django.core.management import execute_from_command_line 12 except ImportError as exc: 13 raise ImportError( 14 "Couldn‘t import Django. Are you sure it‘s installed and " 15 "available on your PYTHONPATH environment variable? Did you " 16 "forget to activate a virtual environment?" 17 ) from exc 18 execute_from_command_line(sys.argv) 19 20 21 if __name__ == ‘__main__‘: 22 main()

      manage.py

  • 启动
    • python manage.py runserver
    • pycharm启动

本文共计409个文字,预计阅读时间需要2分钟。

如何实现Django项目中的生产与测试环境有效分离?

Django生产与测试环境分离:在`settings.py`同级目录下新建`settings`文件夹,并在其中创建`__init__.py`、`base.py`、`develop.py`、`product.py`文件。将`settings.py`中的通用部分全部复制到`base.py`中,动态内容根据环境配置。

django-生产和测试环境分离

如何实现Django项目中的生产与测试环境有效分离?


  • 在settings.py的同级目录下新建settings的文件夹
  • 在settings文件夹下新建
    • __init__.py
    • base.py
    • develop.py
    • product.py
  • 将settings.py里面的通用部分全部复制到base里面,变动的内容如: 数据库的配置和DEBUG等除外
  • 在develop里面将base里的内容全部导入
    • from .base import *

    • 将数据库等变动的信息加入即可
  • 修改BASE_DIR
    • BASE_DIR = os.path.dirname(os.path.dirname(os.path.dirname(os.path.abspath(__file__))))

    • BASE_DIR为项目的根目录,此时的根目录相对于该配置文件的上2级目录,就在原来的BASE_DIR的基础上面再加一层os.path.dirname即可
  • 修改wsgi和manage.py
    • 1 import os 2 3 from django.core.wsgi import get_wsgi_application 4 5 profile = os.environ.get(‘PROJECT_PROFILE‘, ‘develop‘) 6 7 os.environ.setdefault(‘DJANGO_SETTINGS_MODULE‘, ‘ActivityApi.settings.%s‘ % profile) 8 9 application = get_wsgi_application()

      wsgi.py

    • 1 #!/usr/bin/env python 2 """Django‘s command-line utility for administrative tasks.""" 3 import os 4 import sys 5 6 7 def main(): 8 profile = os.environ.get(‘PROJECT_PROFILE‘, ‘develop‘) 9 os.environ.setdefault(‘DJANGO_SETTINGS_MODULE‘, ‘ActivityApi.settings.%s‘ % profile) 10 try: 11 from django.core.management import execute_from_command_line 12 except ImportError as exc: 13 raise ImportError( 14 "Couldn‘t import Django. Are you sure it‘s installed and " 15 "available on your PYTHONPATH environment variable? Did you " 16 "forget to activate a virtual environment?" 17 ) from exc 18 execute_from_command_line(sys.argv) 19 20 21 if __name__ == ‘__main__‘: 22 main()

      manage.py

  • 启动
    • python manage.py runserver
    • pycharm启动