likes
comments
collection
share

[Python学习系列] 走进Django框架

作者站长头像
站长
· 阅读数 13

1. 安装django

        在Pycharm终端处输入命令:pip install django ,回车。

2. 创建项目(命令的方式)

在第一次创建django项目需要做的:
  • 找到安装Python的路径下的Script文件夹,并复制到这个文件夹下的路径。eg:D:\Program Files\Python\Scripts (这个是本人主机安装Python的路径)。
  • 在系统变量Path中配置环境变量,粘贴上面复制的路径,点击确定。 [Python学习系列] 走进Django框架
每一次创建django项目需要做的:
  • 管理员模式打开cmd。
  • 使用cd命令定位到要保存项目的文件夹。eg:cd py_code\PycharmProjects
  • 输入django-admin startproject 创建项目名称 的格式就可以创建出django项目。eg: django-admin startproject mysite

3. 创建app

        在pycharm终端进行添加app(功能模块),输入格式:python manage.py startapp app名称。eg:python manage.py startapp app01

4. 启动运行django项目程序

        在settings.py中注册app,在配置文件中添加来自apps.py的类。

[Python学习系列] 走进Django框架 [Python学习系列] 走进Django框架

​        在urls.py中注释掉原来的path并编写新的url和视图函数的对应关系。

[Python学习系列] 走进Django框架

        在views.py中简单编写一个视图函数。(注意:request是一个对象,封装了用户发送过来的所有请求相关数据)

[Python学习系列] 走进Django框架

        在manage.py右键启动django项目,并在Paramrters中设置输入runserver。

[Python学习系列] 走进Django框架

[Python学习系列] 走进Django框架

[Python学习系列] 走进Django框架

        以后再需要启动的话,再这里进行点击即可。

[Python学习系列] 走进Django框架

最后在刚才设置的url地址下能访问网页,则说明启动django项目成功。

[Python学习系列] 走进Django框架

5. 模板&静态文件的存放地址

模板其实就相当于是前段页面(一个.html文件)。

        在视图函数中使用render返回模板。新建一个templates文件夹,里面存的东西都是模板。(注意:查找模板的规则见下图注释)

[Python学习系列] 走进Django框架

静态文件其实就包括css、js、image、plugins等。

        在这里以图片为例(其他的也都是类似的)。

[Python学习系列] 走进Django框架

6. django中的模板语法

        django与Java那边的SpringBoot是完全不一样的,SpringBoot在开发中讲究的是前后端分离,但是django这边不是为前后端分离设计的,所以前后端代码的耦合度更高,比较适合于个人的独立开发,所以django进而就存在了模板语法这种东西。

        而模板语法,本质上就是在html中写一些占位符,由后端传来的数据对这些占位符进行替换和处理操作。

        这里会以一个简单的例子来演示一下模板语法的使用(以及附带一个django项目的执行流程),更多的模板语法还是需要查阅一下资料的,但是最常用的无非就是for来循环以及if来判断。

  • 步骤一:在urls.py中添加path路径。 [Python学习系列] 走进Django框架

  • 步骤二:在views.py中添加视图函数,构造并传递数据给模板。 [Python学习系列] 走进Django框架

  • 步骤三:在模板接收数据并组织显示到页面。 [Python学习系列] 走进Django框架

        django项目整体的执行流程:

[Python学习系列] 走进Django框架

        这里给出上面代码中发送请求接收数据的地址:www.chinaunicom.com/api/article…。如果访问不了需要进行ua伪装,下面给出代码:

	header = {
        'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.25 Safari/537.36 Core/1.70.3775.400 QQBrowser/10.6.4208.400'
    }

7. django中常见的请求和响应

        这一部分简单介绍django中的三种常见的请求以及三种常见的响应,其他额外内容需要用到的话可以自行查阅资料。

三种常见的请求:

  • 第一种:获取请求的方式:GET/POST(request.method)。
  • 第二种:在url上传递值(request.GET)。
  • 第三种:在请求体中提交数据(request.POST)。 [Python学习系列] 走进Django框架 [Python学习系列] 走进Django框架

三种常见的响应:

  • 第一种:直接将响应字符串内容返回给请求者。
  • 第二种:读取模板/html内容+渲染再返回给请求者。
  • 第三种:返回重定向结果给请求者。 [Python学习系列] 走进Django框架

8. 连接MySQL数据库

        在接触Django框架之前,我们对Python进行数据库连接以及增删改查的操作都是基于pymysql库进行的,但是这有一个缺点:每次执行之前都需要对数据库进行连接以及编写大量增删改查的语句,总体来说是比较繁琐的。到了Django框架这边,由于其内部提供了ORM框架,所以使用起来就会变得方便许多。这就有点类似于Java那边的JDBC和MyBatis的区别了。

安装第三方模块:

        由于Django新版底层依赖的pymysql比较差,所以现在我们就比较少使用pymysql,本文会以mysqlclient来进行演示。

​        在pycharm终端输入:pip install mysqlclient

ORM框架:

ORM框架主要的作用是:

  • 创建、修改、删除数据库中的表。(注意:只能针对表操作,无法进行创建数据库,创建数据库只能通过自己的MySQL终端进行创建
  • 操作表中的数据(也就是对表进行增删改查操作)。

步骤一:创建数据库(eg:create database django_mytest default charset utf8 collate utf8_general_ci;

步骤二:使用django连接MySQL数据库

        由于django默认使用的数据库是sqlite,而我们现在使用的是MySQL数据库,所以我们就需要在settings.py文件里面修改一下配置。

[Python学习系列] 走进Django框架

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.mysql',
        'NAME': 'dbname', # 刚才创建数据库的名字
        'USER': 'root',
        'PASSWORD': '123456', # 自己数据库的密码
        'HOST': '127.0.0.1', # 安装MySQL的机器(默认这里都是主机安装)
        'PORT': '3306', # 设置端口号(默认3306)
    }
}

9. 使用ORM框架操作数据库

创建&删除表:

步骤一:在models.py文件中创建类:

[Python学习系列] 走进Django框架

class UserInfo(models.Model):
    name = models.CharField(max_length=32)
    password = models.CharField(max_length=64)
    age = models.IntegerField()

步骤二:在pycharm终端输入命令:

python manage.py makemigrations
python manage.py migrate

[Python学习系列] 走进Django框架

        注意:在以后新增表或者删除表的时候只需要在这里选择填写或者注释掉之后,再重新运行上面两个命令即可做到新增或者删除表。

修改表结构:

        在表中新增列的时候,由于已经存在的列中可能有数据了,所以在新增列的时候就必须要指定新增列对应的数据(具体有四种做法):

  • 在pycharm终端会进行提示,可以在终端手动输入一个值。
  • 设置默认值。eg:age = models.IntegerField(default=10)
  • 允许为空。eg:age = models.IntegerField(null=True, blank=True)
  • 如果你可以确定表中一定是没有数据的,或者是已经想删除表中的数据的,可以先注释掉运行,再注释回来添加列再输入上面两行命令运行,但是还是不推荐这样子做。

对表中数据进行增删改查操作:

  • [Python学习系列] 走进Django框架

[Python学习系列] 走进Django框架

  • [Python学习系列] 走进Django框架

[Python学习系列] 走进Django框架

  • 查(注意:下面这样得到的是对象,存的是每一列的数据) [Python学习系列] 走进Django框架

  • [Python学习系列] 走进Django框架

[Python学习系列] 走进Django框架

10. 总结

        至此,Django的核心基本知识点就已经完了,总的来说本文就是要快速上手Django框架(快速安装、创建、启动运行Django项目),初步了解一些文件的存放地址规则,以及使用ORM框架来操作数据库等。

        其实到这里,如果之前有学习过其他框架的基础的话,后面做项目的核心也是这个规则,其他Django额外操作是碰到就查的思路完成。当然,如果没有其他框架的基础的话,后面我也会一直更新一些项目来巩固学习等。

        至此,Django的核心基本知识点就已经完了,总的来说本文就是要快速上手Django框架(快速安装、创建、启动运行Django项目),初步了解一些文件的存放地址规则,以及使用ORM框架来操作数据库等。

        其实到这里,如果之前有学习过其他框架的基础的话,后面做项目的核心也是这个规则,其他Django额外操作是碰到就查的思路完成。当然,如果没有其他框架的基础的话,后面我也会一直更新一些Django开发项目来巩固学习等。