系统上线,在项目节点当中,占有举足轻重的地位。成了,获得的不只是荣誉的鲜花,成功的微笑,还有雷鸣般的掌声;败了,获得的不只是紧缩的眉头,苦涩的泪水,还有徘徊的脚步。

为了少走弯路,提高成功率,认真做好上线准备是必修的功课。话不多说,拷贝一份sales源码并对它进行调整、修改。

46.1 拷贝静态文件

先确定settings.py文件里,是否有如下内容,如果没有的话就补上。

STATIC_ROOT = os.path.join(BASE_DIR, "static")

在命令行窗口,cd到sales目录下后,执行静态文件迁移命令

python3 manage.py collectstatic

46.2 关闭Debug

在系统上线时,会关闭掉Debug(设为False)的功能,而由此将失去django自动对静态文件进行路由的功能,导致静态文件出现加载失败的情况。

如果想要让静态文件正常显示,就需要配置静态文件服务了。

修改settings.py文件,调整STATIC_ROOT值得为'static'。

DEBUG = False ALLOWED_HOSTS = ['*'] STATIC_URL = '/static/' # 配置静态文件路径 # STATIC_ROOT = os.path.join(BASE_DIR, "static") STATIC_ROOT = 'static' STATICFILES_DIRS = [ os.path.join(BASE_DIR, '/static/'), ##修改地方 ]

调整sales/urls.py文件内容,新增静态文件的导航路径。

from django.contrib import admin from django.urls import path, include from django.views import static from django.conf import settings from django.conf.urls import url admin.site.site_title = '销售管理系统' admin.site.site_header = '销售管理系统' urlpatterns = [ path('', admin.site.urls), path('captcha/', include('captcha.urls')), path('special/', include('special.urls')), url(r'^static/(?P<path>.*)$', static.serve, {'document_root': settings.STATIC_ROOT}, name='static'), ]

46.3 删除文件

删除sales项目下的缓存文件__pycache__;删除venv文件夹(如果有的话)。

46.4 导出第3方库

使用pip3命令导出项目依赖的第3方开发库。

pip3 freeze > 磁盘路径/sales/requirements.txt

requirements.txt文件内容秀一下。

Django==2.2.2 django-ranged-response==0.2.0 django-simple-captcha==0.5.11 Pillow==6.1.0 pytz==2019.1 six==1.12.0 sqlparse==0.3.0

46.5 安装环境

有关Python3运行环境的安装,在第1章之中有详细的介绍,不清楚的,可以回去看看。版本号用的是:Python3.7.2。

注意:在Windows系统下,Python命令用的是python,而Ubuntu下则是python3。

46.5.1 安装第3方库

拷贝sales项目放置到D盘目录下。以管理员身份打开cmd窗口,用D:切换到D盘目录,用cd sales进到项目根目录,然后运行pip3命令。

pip3 install -r requirements.txt

在使用中间件(如Apache)之前,建议先用命令运行项目并测试是否有问题存在。

python3 manage.py runserver

46.5.2 数据库配置

Django框架默认支持对Sqlite的操作,如果要更换成其他数据库(如:MySql、Sql Server等),除了更改settings.py的配置信息之外,还需要安装对应的驱动。

修改为Sql Server数据库的配置信息如下。

DATABASES = { 'default': { 'ENGINE': 'sql_server.pyodbc', 'NAME': 'db', 'USER': 'user', 'PASSWORD': 'password', 'HOST': '127.0.0.1', 'PORT': '1433', 'OPTIONS': { 'driver':'SQL Server Native Client 11.0', 'MARS_Connection': True, }, }, }

通过pip3安装驱动。

pip3 install django-pyodbc-azure pyodbc

系统上线,除了本章节说的项目(sales)的内容之外,对服务器版本的操作系统、数据库、中间件的选型也是非常重要的。

服务器版本的操作系统主要有Windows Server系列和Linux系列,如Windows Server 2012 R2、Ubuntu Server18.04;数据库有MySql、Sql Server、PostgreSQL等;中间件有IIS、Apache、Nginx等。

具体选择哪一套装(操作系统 数据库 中间件),要看你所在企业的实际情况。如果只是个人学习的话,怎么简单就怎么来。

完成在服务器上的系统部署工作之后,对Django的学算告一个段落了。若想能力加速度成长的话,记得多看看相关数据。

django 新进程(第46章Django完结篇系统上线准备)(1)

,