本章主要是介绍系统开发的使用的基本框架。
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可以到
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成功引入。以上,系统开发整体框架搭建完毕,后续将开始开发逐个模块。