党建内容管理系统——基于Layui和Django(一)

0 阅读3分钟

本章主要是介绍系统开发的使用的基本框架。

01

技术栈选择

本系统为小型内部系统,追求简单快捷,因此采用Layui+Django架构。

前端Layui轻量简洁,中文文档完善,易于上手;

后端Django功能齐全,不需要重复造轮子,且Python在后续AI、数据分析、自动化办公等方面扩展性强,尤其适用于体制内单位。

本次开发使用的框架版本如下(版本很重要,最后很多部署问题都是版本环境不同导致的):

Layui 2.13.3(官网layui.dev/最新版)

Python 3.8.6(Miniconda虚拟环境)

Django 3.2.25(文档docs.djangoproject.com/en/3.2/)

开发工具:VS Code(官网code.visualstudio.com/)

02

Django项目创建

1、创建项目文件夹

在自己的本地盘里创建一个名叫Party-Building-CMS的文件夹,然后用VS Code打开。

图片

2、Python环境隔离

本系统使用Miniconda来创建Python虚拟环境。Miniconda可以到

www.anaconda.com/docs/gettin…

Miniconda官网

进行下载,具体下载和安装方式可自行百度。

安装完后,可以在VS Code的Terminal里面输入

conda --version

验证Minoconda是否安装成功。

确认安装成功后,输入

conda create --name py368 python=3.6.8

创建Python版本为3.6.8的Python虚拟环境,安装完成如下图所示:

图片

输入

conda activate py368

激活虚拟环境,激活成功如下图所示:

图片

3、创建Django项目

pip安装Django(可以使用清华源)

pip install django -i https://pypi.tuna.tsinghua.edu.cn/simple

在Party-Building-CMS文件夹下创建Django项目(注意最后面有个.,表示当前目录)

django-admin startproject mysite .

结果如下图所示:

图片

启动Django项目,输入

# 前两句是初始化数据库,这里使用默认的Sqlite3
python manage.py makemigrations
python manage.py migrate
# 启动程序
python manage.py runserver

结果如下图所示:

图片

打开浏览器,输入http://127.0.0.1:8000/,页面展示如下即表明Django项目创建成功

图片

03

Layui框架引入

1、引入Layui文件

从Layui官网下载Layui js文件

图片

Layui js文件:

图片

解压后显示如下:

图片

在Party-Building-CMS文件夹下创建static文件夹,然后将Layui js文件解压后的layui文件夹复制到static文件夹下:

图片

在Party-Building-CMS文件夹下创建templates文件夹,创建base.html文件:

图片

在base.html中输入

{% load static %}
<!DOCTYPE html>
<html>
<head>    
    <meta charset="utf-8">    
    <meta name="viewport" content="width=device-width, initial-scale=1">    
    <title>党建内容管理系统</title>    
    <!-- 以下两行为引入Layui框架,包括CSS和Javascript文件 -->    
    <link href="{% static 'layui/css/layui.css' %}" rel="stylesheet">    
    <script src="{% static 'layui/layui.js' %}"></script>
</head>
<body>
    <div class="layui-btn-container">          
        <button type="button" class="layui-btn layui-btn-lg">大型按钮</button>          
        <button type="button" class="layui-btn">默认按钮</button>        
        <button type="button" class="layui-btn layui-btn-sm">小型按钮</button>        
        <button type="button" class="layui-btn layui-btn-xs">迷你按钮</button>    
   </div>
</body>
</html>

2、Django创建PartyBuildCMS应用

输入

python manage.py startapp PartyBuildCMS

创建后会自动生成PartyBuildCMS目录,结构如下:

图片

在PartyBuildCMS的views.py文件中,创建index函数,输入:

Create your views here.def index(request):            return render(request, 'base.html')

在PartyBuildCMS中创建urls.py,并输入:

from django.urls import path
from . import views
app_name"zhihuioa"
urlpatterns = [    
    path('index', views.index, name='index'),
]

修改Party-Building-CMS/mysite文件夹下的urls.py文件,如下所示

from django.contrib 
import admin
from django.urls 
import path, include 
# 添加include
urlpatterns = [    
    path('admin/', admin.site.urls),    
    # 添加PartyBuildCMS路由    
    path('PartyBuildCMS/'include('PartyBuildCMS.urls')),
]

修改Party-Building-CMS/mysite文件夹下的settings.py文件,如下所示

... 省略
# 引入 os 模块
import os
... 省略
# 添加 PartyBuildCMS 应用
INSTALLED_APPS = [
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
    'PartyBuildCMS',
]
... 省略
TEMPLATES = [
    {
        'BACKEND': 'django.template.backends.django.DjangoTemplates',
        'DIRS': [os.path.join(BASE_DIR, 'templates')], # 添加templates路径寻找
        'APP_DIRS': True,
        'OPTIONS': {
            'context_processors': [
                'django.template.context_processors.debug',
                'django.template.context_processors.request',
                'django.contrib.auth.context_processors.auth',
                'django.contrib.messages.context_processors.messages',
            ],
        },
    },
]
... 省略
STATIC_URL'/static/'
# 添加静态文件目录
STATICFILES_DIRS = [
    os.path.join(BASE_DIR, 'static'),
]
... 省略

上述内容修改完毕后,执行python manage.py runserver启动项目在浏览器中输入http://127.0.0.1:8000/PartyBuildCMS/index,页面打开如下所示: 图片 出现上述墨绿色大小不一的按钮,即表示Layui成功引入。以上,系统开发整体框架搭建完毕,后续将开始开发逐个模块。