1.创建django项目后,为了让uwsgi能够使用,必须将wsgi文件改为如下。其中,每个项目只需要把django_oa改掉
import os, sys
from django.core.wsgi import get_wsgi_application
# 1.增加系统环境变量,使uwsgi能够找到配置文件
os.environ['DJANGO_SETTINGS_MODULE'] = 'django_oa.settings'
# 2.在django项目对python模块的搜索路径中,插入项目路径
now_path = os.path.abspath(__file__)
first_dir = os.path.dirname(now_path)
PROJECT_DIR = os.path.dirname(first_dir)
sys.path.insert(0, PROJECT_DIR)
# 3.得到应用,使得settings文件能够定位到这里
application = get_wsgi_application()
2.在项目的配置文件夹中创建ini文件,文件名要有特点,每个项目需要更改前面3行内容,建议相对于nginx端口号,依次增加100。内容如下:
# 既然用了python,能用ini当然不要再用xml了
# 这一行配置头一定要加,不然无法识别配置内容
[uwsgi]
http = :8100
socket = :8200
chdir = /home/ubuntu/django_project/django_oa/django_oa
module = wsgi
# 这个属性很NB,能够使wsgi托管到后台,runserver就做不到!
daemonize = circumstance.log
# 这个太重要了,木有这个那每次改代码只能重启了,而且重启还成功率有限
py-autoreload = 1
3.settings.py文件,建议更改7个地方:
# 在建立好项目后,一定要改这个,不然外网无法使用!
ALLOWED_HOSTS = ['*']
# Application definition
INSTALLED_APPS = [
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'bonus',
]
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',
]
# 强制在项目中每个链接必须写全,不自动加斜杠(不影响手输网址)
APPEND_SLASH = False
# session过期时间
SESSION_COOKIE_AGE = 7200
# 预计可以实现每次触发方法就刷新session
SESSION_SAVE_EVERY_REQUEST = True
# 浏览器关闭后自动清除session
SESSION_EXPIRE_AT_BROWSER_CLOSE = True
4.把项目发布到服务器上后,先开启uwsgi,然后去改nginx配置。如果需要复制上面一段文字,可以在xshell中用鼠标选中复制。配置完nginx之后,一定要记得输入sudo nginx -s reload,重启nginx
5.可以把整个database创建在实体类中,但要注意,一来每张表必须有主键,二来每张表都不能有中文字段
python manage.py inspectdb > project/models.py
网友评论