LCODER之Python:使用Django搭建服务端

135 阅读4分钟

一、 配置虚拟环境

每一个Django项目都需要运行在独立的环境里,搭建虚拟环境,使得单个项目的运行环境与其他项目互不影响。因此需要为你的每一个Django创建一个虚拟环境。

2.1 创建虚拟环境 : python -m venv 项目名

5860AD6A-CAF1-425b-9883-D840798D81DE.png 进入Scripts文件夹,并激活虚拟环境:

image.png

在Windows上搭建python虚拟环境。具体参照下面的文档:

blog.csdn.net/qq_52421092… blog.csdn.net/weixin_4598…

退出虚拟环境 :

deactivate

二、安装并使用Django

2.1 安装Django

在虚拟环境中安装Django,pip是python的包管理器,使用起来很方便,只需要在cmd中创建如下命令:

下载django : MAC/Linux:

python -m pip install Django

windows:

py -m pip install Django
py -m pip install Django==1.11.1 (指定版本)

就可以完成django的安装。

2.2 创建django项目

2.2.1 使用命令行创建django项目

使用下面的命令创建一个django项目:

D:\pythonenve>django-admin startproject django1

image.png

相对应的目录下就创建了django1项目

django1的项目结构如下 :

1FB6398B-2AA2-4475-BB55-F4FD1EF9D954.png

D:\pythonenve>cd django1
D:\pythonenve\django1>python manage.py migrate
D:\pythonenve\django1>python manage.py runserver 运行开发服务器
D:\pythonenve\django1>python manage.py --help

任务启动起来之后,浏览器输入http://127.0.0.1:8000/ 如果出现:

image.png

说明搭建成功。 退出Server: Ctrl+C

使用以下命令,可以修改端口号 :

D:\pythonenve\django1>python manage.py runserver 127.0.0.1 : 9000

如果遇到以下报错,说明是python3.7和django版本不兼容的问题:

55F4FEC4-6E26-4397-8C8D-9FAD614724E3.png

升级django的版本号即可解决 :

pip install -U Django

退出:ctrl+c

下次进入虚拟环境还要再次激活,使用activate.bat命令激活 激活之后再使用以下命令运行服务器:

D:\pythonenve\django1>python manage.py runserver 运行开发服务器

创建子项目:

D:\pythonenve\django1>python manage.py startapp books

使用ide打开django项目

image.png

打开之后,在设置 -> 解释器中配置当前虚拟环境。

6010C5A6-AAA2-42bf-9E59-3C36A0B8DA49.png

配置子应用,在Django1的settings.py文件中的INSTALLED_APPS配置:

BFF5E9BD-1C38-4385-8C37-C35FCFE98A00.png

2.2.2 使用pycharm创建Django项目

点击pycharm左上方的项目 -> 新建项目

EE100C93-85A1-48d1-82E1-DBE0B7E82674.png 如上图所示,这种方式创建Django项目,将会自动创建虚拟环境。

新建完项目后,创建子项目: 在Windows PowerShell中创建子项目,如下图所示:

8C050F8F-B979-4a64-9369-BA46E57F63CC.png

创建完成之后,在settings.py中注册APP:

5863CEB8-D1DA-433d-BC8E-D956E2A2DA6F.png

二、安装MySql

blog.csdn.net/2301_783412…

2.1 下载mysql

进入MySql官网,选择下载-> MySQL Community (GPL) Downloads  如下图所示:

1757682996162.png

2.2 安装mysql

双击下载下来的msi文件,根据下面的图示选择:

1757684330225.png

1757685093107.png

全部安装好后点击Next 1757685338023.png

1757685658688.png

设置MySql数据库的密码: 1757685991571.png

1757686031670.png

1757686067361.png

1757686092937.png

1757686137714.png

1757686166190.png

1757686209788.png

1757686231806.png

后续的流程一路Next下去即可。

三、Django连接MySql

3.1 安装pymysql和mysqlclient

python -m pip install mysqlclient
python -m pip install pymysql

安装好之后,打开MySQL 8.0 Command Line Client客户端,如图: 44DE2C3B-B180-4756-B9D4-E6E4387C71E3.png

创建数据库:

create database bookinfo default character set utf8;

如下图 :

F6F0525D-854D-4c02-9BF4-746F82CCA40C.png

3.2 django连接mySql

3.2.1. 配置数据库

在settings.py文件中配置DATABASES,如下图所示: 023E8888-4E04-4f9a-8FA9-3BF02B8FA9C6.png

3.2.2 打开上面创建的books应用,在models.py中创建模型

from django.db import models

# Create your models here.
class book(models.Model):
    title = models.CharField(max_length=100)
    author = models.CharField(max_length=100)
    publisher = models.CharField(max_length=100)
    published = models.DateTimeField()

model.py中的一个类,对应的就是数据库中的一个表;类中的属性则是对应表中的一个字段。

3.2.3 模型的迁移

生成迁移文件,这一步不会在数据库中创建表,只会创建一个数据表和模型的对应关系:

python manage.py makemigrations

这一步完成后,会在book-> migrations中生成一个001_initial.py文件,这个文件就是迁移文件。 3b59467c-c2ac-4a77-86dd-bb107ab508d2.png

实际迁移:

python manage.py migrate

如下图所示 : C3CC36AA-EBA1-4a8b-B008-06C1036DF9EB.png

第二步完成后,才在数据库中生成了数据表。

进入数据库查看表是否添加成功:

use bookinfo;
show tables;
desc tableName;

可以看到,已经成功在MySql数据库中创建了book表:

2C9D71E7-2FEB-42af-B1E4-39AFB6AFD655.png

四、django站点管理

首先点击ab094934-4b22-4700-9a1d-a41dc3abb68f.png按钮,运行刚刚创建的django1项目。 可以看到控制台打印出如下图所示内容:

5256d5d5-5e5c-4f28-83d3-280eb101f715.png 说明运行成功。在浏览器中输入 http://127.0.0.1:8000/admin , 进入下面的页面:

7D93A656-A5E9-4349-80ED-B64313A2B4AD.png

此时需要输入用户名密码,使用命令 python manage.py createsuperuser 创建超级管理员,输入用户名、邮箱、密码,如下图所示: 39c3271c-90fa-4e2a-ab59-1b6df61e7bc7.png

此时打开MySQL8.0 Command Line Client,查看表auth_user,auth_user表是系统创建的用户表:

image.png 可以看到表中新增了一行数据,username是admin,email是刚刚输入的admin@gamil.com。 在浏览器中输入刚刚新增的超级管理员,登录进去,进入到站点管理。

4874987E-618C-4158-9E82-EEAA351CACC7.png 打开books应用的admin.py,在admin.py中注册模型。 6BE629C2-D853-4310-8F60-E96B7EFD7F4C.png 重新运行后,刷新站点管理页面,可以看到此时站点管理里面多了一个books模型。

1716E03D-04D9-4d65-9710-A035F2EA0BD2.png 选择增加,在表中增加数据: 70E11650-7ABD-4460-8671-0EBAD8DABAD9.png 添加完成后,在数据库中查询:

image.png

已经成功把两条数据插入到数据库的books_book表中了。