好得很程序员自学网

<tfoot draggable='sEl'></tfoot>

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启动

 

 

 

 

查看更多关于django-生产和测试环境分离的详细内容...

  阅读:19次