Python:Django+MySQL快速搭建网站

一、开发环境准备

  1. MySQL:官网下载MySQL并配置环境变量;具体操作不再赘述,可以搜索相应的细节教程,注意保存好自己设置的账户和密码;

  1. PycharmPro:官网下载专业版pycharm,需要收费但密钥可以在网上搜索到。环境必需的工具库如下图。

pip install -i https://pypi.tuna.tsinghua.edu.cn/simple 。。。清华镜像

二、新建数据库

  1. win+x管理员身份启动PowerShell;

2.输入下图命令,启动MySQL;

3.在应用中找到下图所示应用,用命令创建新数据库,library为数据库名称,可自行设定;

CREATE DATABASE IF NOT EXISTS library DEFAULT CHARSET utf8;

三、搭建网页前准备

接下来的步骤都在PycharmPro中进行

3.1框架文件准备

  1. 新建项目;

  1. 新建一个app,用于连接数据库;

(app是什么以及Django框架的各大模块含义本文不赘述,自己找书看)

在pycharm终端输入以下命令创建app完成:

python manage.py startapp app01
  1. 新建一个前端html文件,在文件夹templates中直接右键新建即可,最终框架文件效果如下图。

3.2配置数据库相关设置

  1. 在setting.py中找到INSTALL_APPS,写入自己创建的app;

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'),
]

4.在项目的init.py(注意不是app中的)中输入以下内容;

import pymysql

pymysql.install_as_MySQLdb()

3.3数据库表制作以及数据迁移;

  1. 在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型最常用,日期、时间类型便于后续建立按时间条件查找函数,图像类型便于保存图片
  1. 数据表建立;

如果在app01/migrations中有init.py以外的文件,那么先删掉然后依次使用终端命令
最好手敲,不要复制,成功效果图如下

python manage.py flush
python manage.py migrate
  1. 数据库连接;

python manage.py makemigrations app01
python manage.py migrate app01

四、网页搭建

前面三大块都是正式开始编程前的准备内容,而针对后端python功能实现,前端html,css文件的代码编写,本文不做教程。

下面只以简单例子进行网页搭建逻辑的示例:

重点与三个文件相关:views.py、urls.py、以及前端html,编程不分先后,一般都是结合起来写。

  1. 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')  # 填写完数据提交后跳转到展示页面
  1. 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>
  1. 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)

以上便完成了网页搭建,效果图如下:

五、总结

  1. 多看书;

  1. 以上只是对网页搭建的简述,关于部署服务器:云端、局域网、硬件接入各自有各自的教程,请自行探索。

  • 3
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值