1 前言
Simple UI是一个基于Django Admin的现代化主题, 能够快速创建项目,支持风格切换,满足个性化需求;轻松操作页面管理,自定义按钮自由搭配,页面组合可视化操作更得心应手;开发调试一体化,集成运行环境零配置运行,开箱即用。了解更多 >
2 安装及运行
2.1 Python环境变量配置
安装python, 设置python及pip环境变量
配置pip镜像源
user目录下新建pip/pip.ini文件:
1 2 3 4
| [global] index-url = https://pypi.tuna.tsinghua.edu.cn/simple [install] trusted-host=mirrors.aliyun.com
|
2.2 安装Django
安装命令:
1
| pip3 install Django -i https:
|
创建 Django 项目及应用
1 2
| django-admin.py startproject projectname django-admin.py startapp appname
|
在MYSQL使用创建一个新DB
1
| create database runoob default charset=utf8;
|
项目settings文件配置数据库连接
1 2 3 4 5 6 7 8 9 10
| DATABASES = { 'default': { 'ENGINE': 'django.db.backends.mysql', 'NAME': 'django', 'USER': 'django', 'PASSWORD': '123456', 'HOST': '8.129.115.12', 'PORT': 3306, } }
|
创建表结构及超级用户
1 2 3
| python manage.py makemigrations app01 python manage.py migrate python manage.py createsuperuser
|
启动服务
1 2
| python manage.py runserver python3 manage.py runserver 0.0.0.0:8000
|
2.3 安装simpleui及相关插件
安装simpleui
1
| pip install django-simpleui
|
安装数据导入导出插件
1
| pip install django-import-export
|
在自己项目的settings.py文件中INSTALLED_APPS的第一行加入’simpleui’和’import_export’
1 2 3 4
| INSTALLED_APPS = [ 'import_export', 'simpleui', ]
|
至此simpleui安装完成,可以启动服务,打开页面及可看到simpleui的新UI界面。
3 linux 部署
3.1 部署远程代码
本地使用freeze命令导出项目依赖关系
1
| pip freeze > requirements.txt
|
修改settings.py文件ALLOWED_HOSTS为[‘*’],可以让任何IP访问
将本地代码COPY到远程服务器
然后使用命令在服务器上安装所需依赖组件
1
| pip install -r requirements.txt
|
3.2 安装uwsgi及配置
安装uwsgi
在项目目录里创建 uwsgi.ini 文件,添加配置选项
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
| [uwsgi]
socket=127.0.0.1:8997
chdir=/home/github/python-dev-django/simpleui_demo/
wsgi-file=simpleui_demo/wsgi.py
processes=4
threads=2
master=True
pidfile=uwsgi.pid
daemonize=uwsgi.log
|
首次启动时,让uwsgi.ini 文件生效:
后续更新发布时,运行重新加载
1
| uwsgi --reload uwsgi.pid
|
3.3 安装nginx及配置
nginx可以手动安装或者使用宝塔面板的软件商店安装.
安装好后配置 nginx.conf 文件:
1 2 3 4 5 6 7 8 9 10 11 12 13 14
| server { listen 80; server_name 127.0.0.1; charset utf-8; location / { include uwsgi_params; uwsgi_pass 127.0.0.1:8999; uwsgi_param UWSGI_SCRIPT simpleui_demo.wsgi; uwsgi_param UWSGI_CHDIR /home/github/python-dev-django/simpleui_demo/; } location /static/ { alias /data/wwwroot/mysite/static/; } }
|
如果是宝塔面板安装的,则在面板找到对应nginx配置:
1 2 3 4 5 6 7 8 9
| location / { include uwsgi_params; uwsgi_pass 127.0.0.1:8999; uwsgi_param UWSGI_SCRIPT simpleui_demo.wsgi; uwsgi_param UWSGI_CHDIR /home/github/python-dev-django/simpleui_demo; } location /static/ { alias /home/github/python-dev-django/simpleui_demo/static/; }
|
注意nginx.conf里的端口配置,要和uwsgi.ini里面的那个端口一致。
3.4 部署问题
1 无法启动时,查看nginx日志及uwsgi日志解决。
2 后台样式不显示的时,项目settings文件增加STATIC_ROOT
1
| STATIC_ROOT = os.path.join(BASE_DIR, 'static')#指定样式收集目录
|
然后使用命令加载静态资源文件
1 2
| python manage.py collectstatic
|