Python Web框架Django的学习

  • 简介
  • 安装
  • 开始创建工程
  • 小例子
  • 基本操作
  • 配置数据库
  • 创建应用
  • 定义模型
  • 在数据库中生成数据表
  • 测试数据操作
  • 添加数据
  • 查询数据
  • 修改数据
  • 删除数据
  • 关联数据表数据
  • 添加数据
  • 查找特定集合
  • 启动服务器


简介

尝试一下用python写网页,选择Django是因为它用的MVC框架,对于之前有了解的我来说,比较易上手。废话不多说。

安装

已经安装好python之后,在cmd中可以直接pip安装。

ASGI python 框架 python框架教程_ASGI python 框架


我直接安装的是2.1版本

pip install Django==2.1

ASGI python 框架 python框架教程_python_02


之后可以进入python环境测试一下:

在cmd中直接输入python,然后输入

import django

django.get_version()

即可以看到版本号

ASGI python 框架 python框架教程_css_03

开始创建工程

首先,在合适的位置新建一个文件夹。
然后在cmd中cd到文件夹下的位置(如果在D盘先直接输入d:,然后在进行cd D:…)
然后输入

django-admin startproject project

等待一会儿没有什么提示内容,我们可以看到文件夹下生成了新的文件。

ASGI python 框架 python框架教程_javascript_04


简单说明一下文件的用途

文件

用途

manage.py

一个命令行工具,可以使我们用多种方式对Django进行交互

init.py

一个空文件,告诉python这个目录应该被看作一个python包

settings.py

项目的配置文件

urls.py

项目的ULR的声明

wsgi.py

项目与WSGI兼容的Web服务器入口

小例子

基本操作

配置数据库

Django默认使用sqllite,这个在setting里面可以看到。我们需要将他更改成MySQL。
首先打开project里面的_init_.py 写入两行代码(没有安装pymysql的先pip install pymysql)

import pymysql
pymysql.install_as_MySQLdb()

之后我们在settings,py ,里面找到DATABASES。先把第一行sqllite3名字换成MySQL

'ENGINE': 'django.db.backends.mysql',

下面一行名字是要数据库的名字,目前我们还没有建数据库,下一步在cmd中创建数据库。

注意:MySQL没启动的先net start mysql57启动一下,mysql57是名字,可能每个人的不太一样。

启动后输入

ASGI python 框架 python框架教程_python_05


创建数据库:

ASGI python 框架 python框架教程_ASGI python 框架_06


之后再回到settings.py里面,继续根据自己的信息完善配置:

ASGI python 框架 python框架教程_javascript_07

创建应用

在一个项目中可以创建多个应用(应用之间相互不影响),每个应用进行一种业务的处理。
打开cmd之后,cd进入刚开始创建的project目录。
执行python manage.py startapp myapp1 myapp1是应用名,之后可以在project中看到新生成的文件夹。
其中

文件名

作用

admin.py

站点配置

model.py

模型

views.py

视图

之后想使用应用的话需要激活(将应用配置到项目里)。
在settings里找到INSTALLED_APPS,将自己新建的app名加到后面。

定义模型

有一个数据表就对应一个模型。

在model.py文件中定义模型。一般需要先引入包,一般创建完文件里第一句就已经引用了。

ASGI python 框架 python框架教程_html_08


主键是自动生成的。

在数据库中生成数据表

首先生成迁移文件,执行

python manage.py makemigrations

ASGI python 框架 python框架教程_ASGI python 框架_09


此时只是生成迁移文件,并没有生成数据表。

之后,执行迁移将会生成表。

执行:python manage.py migrate 之后在MySQL里先输入use 表名,然后再show tables就可以看到生成了新表。

ASGI python 框架 python框架教程_html_10


还可以查看一下表的内容:

ASGI python 框架 python框架教程_javascript_11


其中可以发现,表名加上了工程名。

测试数据操作

可以不写代码用cmd 进行测试。
首先进入环境python manage.py shell 之后引入一些包:

from myapp1.models import Classha,Students
from django.utils import timezone
from datetime import *

然后查询所有数据
类名.objects.all()

Classha.objects.all()

添加数据

(创建模型类的对象实例)
创建对象:
对象名=

Classha1 = Classha()
Classha1.Cname = "django1"
Classha1.Cdate = datetime(year=2020,month=2,day=1)
Classha1.Cnember = 5
Classha1.isDelete = False
Classha1.save() #存数据

另一种方法:

S1= Classha1.students_set.create(sname = "holly",sgender=True,sage = 40,scontent = "sdfds",isDelete = False, )

不用save直接就添加上了。

查询数据

之后再进行查询就能看到已经写入一条数据:

ASGI python 框架 python框架教程_html_12


如果想单独选出来某一条数据,

Classha.objects.get(pk=1)
#或者
a = Classha.objects.get(pk=1)
a

修改数据

模型对象名.属性 = 新值
模型对象名.save()

注意:有的时候找不到对象,可以先再写一下:
模型对象名 = Classha.objects.get(pk=1)
再进行修改

删除数据

模型对象名.delete()
这个不需要save,直接就删除了。

关联数据表数据

添加数据

ASGI python 框架 python框架教程_python_13


ASGI python 框架 python框架教程_javascript_14

查找特定集合

对象名.关联的类名小写_set.all()

ASGI python 框架 python框架教程_javascript_15

启动服务器

格式:

python manage.py runserver ip:port

ip不写的话是代表本机,端口号默认8000

这是一个python写的轻量级服务器,只在开发中使用。

ASGI python 框架 python框架教程_javascript_16


在网页中输入网址即可看到:

ASGI python 框架 python框架教程_python_17


激动的心 颤抖的手

hello world!