一、开发环境准备
MySQL:官网下载MySQL并配置环境变量;具体操作不再赘述,可以搜索相应的细节教程,注意保存好自己设置的账户和密码;
PycharmPro:官网下载专业版pycharm,需要收费但密钥可以在网上搜索到。环境必需的工具库如下图。
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple 。。。清华镜像
![](https://img-blog.csdnimg.cn/img_convert/4adfcc281e9d76eb86c0c643e8afa130.png)
二、新建数据库
win+x管理员身份启动PowerShell;
![](https://img-blog.csdnimg.cn/img_convert/148858e91c412e02929903fa5d832d90.png)
2.输入下图命令,启动MySQL;
![](https://img-blog.csdnimg.cn/img_convert/ef85cf31e04a60964a799da288537450.png)
3.在应用中找到下图所示应用,用命令创建新数据库,library为数据库名称,可自行设定;
![](https://img-blog.csdnimg.cn/img_convert/c3fe642f58512f6302dcf3f82849ae95.png)
![](https://img-blog.csdnimg.cn/img_convert/9ce604d363120a133fb6c3cafb29bb43.png)
CREATE DATABASE IF NOT EXISTS library DEFAULT CHARSET utf8;
三、搭建网页前准备
接下来的步骤都在PycharmPro中进行
3.1框架文件准备
新建项目;
新建一个app,用于连接数据库;
(app是什么以及Django框架的各大模块含义本文不赘述,自己找书看)
在pycharm终端输入以下命令创建app完成:
python manage.py startapp app01
新建一个前端html文件,在文件夹templates中直接右键新建即可,最终框架文件效果如下图。
![](https://img-blog.csdnimg.cn/img_convert/eda4d86109c6c1da12955df4dca8cc62.png)
3.2配置数据库相关设置
在setting.py中找到INSTALL_APPS,写入自己创建的app;
![](https://img-blog.csdnimg.cn/img_convert/21fced6a7ba722d5e455d0409880c3a1.png)
2.在setting.py中找到DATABASES,修改为以下内容;
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql', # 数据库引擎
'NAME': 'library', # 数据库名称
'HOST': '127.0.0.1', # 服务器地址,如果是本地可以写127.0.0.1
'PORT': 3306,
'USER': 'root', # 数据库设置的用户名
'PASSWORD': '0000', # 数据库设置的密码
}
}
templates = {
'DIRS': [os.path.join(BASE_DIR, 'templates')],
}
3.在项目根目录下新建一个static文件夹,用于存放前端模版静态资源(简单前端用不上),并在setting.py中找到STATIC_URL = 'static/',在下方新增以下内容;
STATICFILES_DIRS = [
os.path.join(BASE_DIR, 'static'),
]
![](https://img-blog.csdnimg.cn/img_convert/9d7d93a68cbf12d1f9d2f27e650e5ba3.png)
4.在项目的init.py(注意不是app中的)中输入以下内容;
import pymysql
pymysql.install_as_MySQLdb()
3.3数据库表制作以及数据迁移;
在app01/models.py创建表头;
from django.db import models
# Create your models here.
class Manager(models.Model):
id = models.AutoField('序号', primary_key=True)
name = models.CharField('名称', max_length=64)
date = models.DateField('日期')
time = models.TimeField('时间')
image = models.ImageField('图像')
# 不同的字段类型有不同的功能,char型最常用,日期、时间类型便于后续建立按时间条件查找函数,图像类型便于保存图片
数据表建立;
如果在app01/migrations中有init.py以外的文件,那么先删掉然后依次使用终端命令
最好手敲,不要复制,成功效果图如下
python manage.py flush
python manage.py migrate
![](https://img-blog.csdnimg.cn/img_convert/37b01f7b540062f1e002ee14b5c0d511.png)
数据库连接;
python manage.py makemigrations app01
python manage.py migrate app01
![](https://img-blog.csdnimg.cn/img_convert/23b0cd1e335c4088cd975340af0a5dc1.png)
四、网页搭建
前面三大块都是正式开始编程前的准备内容,而针对后端python功能实现,前端html,css文件的代码编写,本文不做教程。
下面只以简单例子进行网页搭建逻辑的示例:
重点与三个文件相关:views.py、urls.py、以及前端html,编程不分先后,一般都是结合起来写。
view.py
from django.shortcuts import render, redirect
from app01 import models
# 定义功能函数,一个是展示数据列表,一个是写入数据
def show(request):
data = models.Manager.objects.all()
return render(request, 'show_UI.html', {'data_list': data})
def write_in(request):
if request.method == 'GET':
return render(request, 'write.html')
id = request.POST.get('id')
name = request.POST.get('name')
date = request.POST.get('date')
time = request.POST.get('time')
image = request.POST.get('image')
models.Manager.objects.create(id=id, name=name, date=date, time=time,image=image)
return redirect('/show') # 填写完数据提交后跳转到展示页面
html+css
# write.html写入数据页面
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
<h1>数据写入</h1>
<form method="post">
<label>
{% csrf_token %}
<input type="text" name="name" placeholder="名称">
</label>
<label>
<input type="date" name="date" >
</label>
<label>
<input type="time" name="time">
</label>
<input type="submit" value="提交">
</form>
</body>
</html>
# show_UI.html展示数据页面
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>数据展示</title>
</head>
<body>
<h1>数据展示</h1>
<table border="1" width="100%">
<thead>
<tr>
<th>序号</th><th>名称</th><th>日期</th><th>时间</th><th>图像</th>
</tr>
</thead>
<tbody>
{% for obj in data_list %}
<tr>
<td>{{ obj.id }}</td>
<td>{{ obj.name }}</td>
<td>{{ obj.date }}</td>
<td>{{ obj.time }}</td>
<td>{{ obj.image }}</td>
</tr>
</tbody>
{% endfor %}
</table>
</body>
</html>
urls.py网址分配页面
from django.contrib import admin
from django.urls import path
from app01 import views
urlpatterns = [
path('admin/', admin.site.urls),
path('show/', views.show),
path('', views.write_in)
以上便完成了网页搭建,效果图如下:
![](https://img-blog.csdnimg.cn/img_convert/6e8860a7319aa43bf1a522ae9609286b.png)
![](https://img-blog.csdnimg.cn/img_convert/f9e89308a7b90cb749bc87aed686e607.png)
五、总结
多看书;
以上只是对网页搭建的简述,关于部署服务器:云端、局域网、硬件接入各自有各自的教程,请自行探索。