django项目开发部署完整案例【最终效果展示】【源码】【simpleui】【增删改查】

本文记录了一位开发者使用Django和SimpleUI搭建页面,并进行定制化设置,如主题、Logo和菜单。接着,详细介绍了如何将项目部署到服务器,涉及Nginx和uWSGI的配置。此外,还分享了源码、操作脚本及参考链接,帮助读者了解完整的开发和部署流程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Background

  • 最近有个项目需要一个简单的页面,为了实现对项目基础信息增删改查的功能,于是就用django+simpleui写了一个,开发工具是pycharm。历经大坑小坑,最终成功上线,这里记录下整个过程,并分享出源码,放在文章最后。
  • 如果你想自己测试下,拿到源码,首先你得有python3环境吧,然后你可以按照README.md文件中的【快速开始】准备下你自己的本地环境,按照步骤应该就能起来,如果遇到问题可以评论问我(不要私信我),我天天都刷博客,有消息就能看到,看到就会及时回复。

1、先上最终效果

在这里插入图片描述

2、定制化

  • 定制主题

先安装再配置 pip3 install django-simpleui

在这里插入图片描述

  • 定制网站logo

在这里插入图片描述

在这里插入图片描述

  • 定制网站favicon.ico

需要自己制作,这是在线制作网站 在线制作ico图标

在这里插入图片描述
在这里插入图片描述

  • 定制网站菜单

图标可以在这个网站上找【Font Awesome】, 使用就很简单了。

在这里插入图片描述

3、部署到服务器上

这里采用Nginx配合uWSGI的方式。
部署前需要修改下配置 settings.py

1.DEBUG = False
2.ALLOWED_HOSTS = [‘*’]
3.STATIC_ROOT = os.path.join(BASE_DIR, “static”)

在这里插入图片描述

  • 首先在服务器上建目录并修改权限
mkdir /pyweb
useradd nginx
chown -R nginx.nginx /pyweb/
  • 然后把项目拷贝到这个目录下
    在这里插入图片描述

  • 安装依赖(我这里没用虚拟环境)

pip3 install -r requirements.txt
  • 配置nginx并启动

怎么安装这里就不赘述了,安装好把nginx.conf的内容换成下面的(若nginx无他用),需要修改的地方已经注释很清楚了。

events {
    worker_connections  1024;
}
http {
    include       mime.types;
    default_type  application/octet-stream;
    sendfile        on;
    server {
        listen 80;
        server_name  yours.com; #改为自己的域名,没域名修改为127.0.0.1:80
        charset utf-8;
        location / {
           include uwsgi_params;
           uwsgi_pass yours:8000;  #这个和uwsgi里的socket配置要一样
           uwsgi_param UWSGI_SCRIPT yunlu_pms.wsgi;  #wsgi.py所在的目录名+.wsgi
           uwsgi_param UWSGI_CHDIR /pyweb/yunlu_pms/; #项目路径
        }
        location /static/ {
        alias /pyweb/yunlu_pms/static/; #静态资源路径
        }
    }
}
  • 配置uwsgi并启动

在目录/pyweb/yunlu_pms/下直接执行run.sh脚本就行了。

[uwsgi]
chdir=/pyweb/yunlu_pms
socket=yours:8000
master=true
disable-logging=true
py-autoreload = 1
  • 浏览器访问

访问你配置的域名(或者是你本机的IP),没问题的话应该就能看到登录界面了。

  • 服务器部署时后台样式没有生效的问题
python manage.py collectstatic

在这里插入图片描述

4、源码

yunlu_pms源码下载地址
【提取码:king】

5、另附通用操作脚本 operate.sh

  • operate.sh
#!/bin/bash  

:<<!
【脚本说明】
1、此脚本适用操作python程序;
2、支持服务启动、停止、重启、查看状态、查看日志;
!

# 程序名称
app=manage.py
# 启动命令
run_cmd="python3 $app.py"

# 服务基本信息
operate=$1
ps_1=$app.py
dir_home=$(cd $(dirname $0);pwd)
log_file=$dir_home/logs/$app.log
pid_1=`ps -ef | grep $ps_1 | grep -v grep | awk '{print $2}'`

# 提示信息
msg="Please input the param 【<run|kil|res|sta|log>】"

# 定制化shell输出
function custom_print(){
    echo -e "\033[5;34m ***** \033[0m"
    echo -e "\033[32m $@ ! \033[0m"
    echo -e "\033[5;34m ***** \033[0m"
}

# 启动命令
function run(){
    nohup $run_cmd > /dev/null 2>&1 &
}

# 启动服务
if [[ $operate = "run" || $operate = "start" ]]; then
    if [[ ! $pid_1 ]]; then
        run
        msg='Start success'
        custom_print $msg
    else
        msg='The service is already running'
        custom_print $msg
    fi

# 停止服务
elif [[ $operate = "kil" || $operate = "stop" ]]; then
    if [[ $pid_1 ]]; then
        kill -9 $pid_1
        msg='Stopped success'
        custom_print $msg
    else
        # 服务早已停止或未启动
        msg='The service is already down'
        custom_print $msg
    fi

# 重启服务
elif [[ $operate = "res" || $operate = "restart" ]]; then
    if [[ $pid_1 ]]; then
        kill -9 $pid_1
    fi
    run
    msg='Restart success'
    custom_print $msg

# 查看服务运行状态
elif [[ $operate = "sta" || $operate = "status" ]]; then
    if [[ $pid_1 ]]; then
        # 黄底蓝字
        echo -e "\033[43;34m RUNNING \033[0m"
    else
        # 蓝底黑字
        echo -e "\033[44;30m STOPPED \033[0m"
    fi

# 查看服务运行日志
elif [[ $operate = "log" ]]; then
    if [[ -e $log_file ]]; then
        tail -f $log_file
    else
        msg="No logs have been generated so far"
        custom_print $msg
    fi

else
    custom_print $msg
fi
  • 使用
    在这里插入图片描述

6、参考

【1】CentOS7下部署Django项目详细操作步骤
【2】部署 Django

### 部署 Django SimpleUI 为了成功部署 Django SimpleUI,需遵循一系列配置步骤来确保应用能够正常运行并展示美观的后台界面。 #### 安装依赖包 首先安装 `django-simpleui` 包。可以通过 pip 工具完成此操作: ```bash pip install django-simpleui ``` #### 修改项目设置 接着修改项目的 `settings.py` 文件,添加 `'simpleui'` 到已安装的应用列表中[^1]: ```python INSTALLED_APPS = [ ... 'simpleui', ... ] ``` 对于自定义菜单权限设置,可以采用一种临时解决方案——使用猴子补丁技术,在 Python 加载模块时替换 `simpletags` 模块中的 `_get_config` 函数。具体做法是在单独创建的一个 `.py` 文件(例如命名为 `menu.py`)里实现该功能,并通过导入的方式将其集成至主程序中[^2]。 在 `menu.py` 中编写如下代码片段用于获取菜单配置: ```python import os from simpleui.templatetags import simpletags def get_menus(): # 自定义菜单逻辑... pass def __get_config(name): if name == 'SIMPLEUI_CONFIG': return get_menus() from django.conf import settings value = os.environ.get(name, getattr(settings, name, None)) return value simpletags.__get_config = __get_config ``` 随后,在 `settings.py` 的顶部引入上述定义好的方法: ```python from menu import * # 菜单设置 SIMPLEUI_CONFIG = get_menus() ``` 这样就完成了基本的部署流程,使得 Django 应用具备了一个基于 SimpleUI 构建起来的功能强大又好看的管理后台界面。
评论 35
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

WaiSaa

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值