001 | Python | Django框架快速入门

奋斗吧
奋斗吧
擅长邻域:未填写

标签: 001 | Python | Django框架快速入门 Python博客 51CTO博客

2023-07-27 18:24:12 83浏览

001 | Python | Django框架快速入门,Django是一个开放源代码的Web应用框架,由Python写成。采用了MTV的框架模式,即模型M,视图V和模版T。它最初是被开发来用于管理劳伦斯出版集团旗下的一些以新闻内容为主的网站的,即是CMS(内容管理系统)软件。

介绍

Django是一个开放源代码的Web应用框架,由Python写成。采用了MTV的框架模式,即模型M,视图V和模版T。它最初是被开发来用于管理劳伦斯出版集团旗下的一些以新闻内容为主的网站的,即是CMS(内容管理系统)软件。

MVC介绍

MVC模式(Model-View-Controller)是软件工程中的一种软件架构模式,把软件系统分为三个基本部分:模型(Model)、视图(View)和控制器(Controller)

Model:主要封装对数据库层的访问,内嵌ORM框架,实现面向对象的编程来操作数据库。 View: 用于封装结果,内嵌了模板引擎,实现动态展示数据 Controller: 用于接收用户请求,处理业务逻辑,与Model和View交互,返回结果

在MVC模型中,如果不需要查询数据库,那么Controller将不会与Model交互,直接与View交互,返回html页面。

001 | Python | Django框架快速入门_html

MVT介绍

M(Model),与MVC中的M功能相同,负责数据处理,内嵌了ORM框架 V(View),与MVC中的C功能相同,接收请求,业务处理,返回响应 T(Template),与MVC中的V功能相同,负责封装构造要返回的html,内嵌了模板引擎

001 | Python | Django框架快速入门_django_02

安装Django模块

pip install django

001 | Python | Django框架快速入门_django_03

创建blog项目

django模块安装完毕后,django-admin命令就可以使用

001 | Python | Django框架快速入门_html_04

采用django-admin startproject创建一个工程项目

django-admin startproject blog .

001 | Python | Django框架快速入门_html_05

生成一个名为blog文件夹及manage.py文件。用编辑器打开后,呈现如下结构:

001 | Python | Django框架快速入门_Python_06

简单介绍下文件:

  • manage.py:是一个命令行工具,是对django-admin.py的简单包装,二者的作用基本一致。django-admin可以对不同的项目进行设置,而manege.py只能对当前的工程有效。
  • blog/\\init\\.py:一个空文件,告诉Python该目录是一个Python包
  • blog/setting.py:项目的配置文件
  • bolg/urls.py:URL分发器(路由配置文件)
  • blog/wsgi.py:项目与WSGI兼容的Web服务器入口
  • blog/asgi.py:存储asgi设定的文件,如果使用ASGI部署django会用到,一般情况下不需要更改

运行项目

python manage.py runserver

001 | Python | Django框架快速入门_html_07

001 | Python | Django框架快速入门_Python_08

浏览器出现上面类似页面,说明Django项目创建完成。

创建应用

项目是由多个应用有机组合而成的。项目可以理解成一个系统(博客系统),应用可以理解成组成系统的模块,比如登录模块、用户模块、内容模块、文章模块等。

# 创建用户应用
python manage.py startapp user

001 | Python | Django框架快速入门_django_09

创建user后出现如上图文件:

  • db.sqlite3: 文档型轻量级数据库,django默认使用sqlite数据库
  • user: 应用目录
  • migrations: 保存数据库数据迁移时生成的文件
  • __init__.py:一个空文件,告诉Python该目录是一个Python包
  • admin.py:web后台管理,用于注册模型类
  • apps.py:用于配置应用的基本信息,如应用的名称、显示名称、图标、默认路径、启动时需要执行的操作等
  • models.py:编写模型类,就是MVT模型中的M
  • tests.py:用于开发测试类
  • views.py:编写视图函数,MVT模型中的V

项目根目录设置

项目根目录设置目的是让编辑器开发中智能正确提醒

001 | Python | Django框架快速入门_Python_10

编写视图函数

001 | Python | Django框架快速入门_Python_11

MVT框架中,V(View),接收请求,业务处理,返回响应。视图函数第一个参数必须是request,request参数封装了用户请求的所有内容,名字可以改,行业默认请求参数叫request,响应参数叫response

路由注册

把视图函数注册到路由urls.py文件中,浏览器访问url,再通过urls.py文件找到对应视图

001 | Python | Django框架快速入门_Python_12

浏览器输入:http://127.0.0.1:8000/user/,就出现如下界面。

001 | Python | Django框架快速入门_Python_13

MVT,只编写了V,再把视图注册到路由文件后,就完成了一个Django请求响应开发。

View-Template使用

用户打开浏览器,不仅仅只看一行文字,还有其它表现,这个时候需要返回html实体,这个时候就需要借助MVT的T(templates)

新建templates目录

001 | Python | Django框架快速入门_django_14

配置文件设置

这一步不配置也行,默认就是这个配置

001 | Python | Django框架快速入门_html_15

新建html文件

001 | Python | Django框架快速入门_django_16

001 | Python | Django框架快速入门_django_17

通过render方法把View和Templates联系在一起。

001 | Python | Django框架快速入门_django_18

重启服务后,浏览器访问可以正常访问

001 | Python | Django框架快速入门_django_19

静态文件

html页面要引入图片、js、css等静态文件

001 | Python | Django框架快速入门_Python_20

也需要在配置文件里添加静态文件目录的配置

001 | Python | Django框架快速入门_Python_21

配置完毕就可以在html页面引入静态文件了

001 | Python | Django框架快速入门_Python_22

001 | Python | Django框架快速入门_django_23

数据:View-->Template

View和Template已经建立了关系,如何在View处理后的数据交给Template呢?

001 | Python | Django框架快速入门_django_24

View中以字典对象传递到Template

001 | Python | Django框架快速入门_Python_25

Template以**{{}}**形式解析变量,这是模板语言的语法

001 | Python | Django框架快速入门_html_26

html中需要书写Python逻辑的,则用**{% %}**语法

{% for item in list %}
    {{ item }}
{% endfor %}

数据:Template-->View

<form action="/user/" method="post">
    {% csrf_token %}
    <input type="text" name="name">
    <input type="text" name="age">
    <input type="submit" value="提交">
</form>
def user_list(request):
    if request.method == 'POST':
        print(request.POST.get('name'))
        print(request.POST.get('age'))
    return render(request, 'user/list.html')

因为有跨站请求保护机制,需要在表单中加入{% csrf_token %},否则报错。

View-Models使用

数据从Template页面提交到了View,有需求希望把数据存储起来,这个时候就涉及到Models层及使用数据库。Django默认使用数据库是sqlite3

001 | Python | Django框架快速入门_Python_27

要把View中的name和age存起来,需要创建数据库表字段,这里通过数据迁移的方式。Django数据迁移文件通过models字段生成。

数据迁移

新建用户(User)类

001 | Python | Django框架快速入门_django_28

生成数据迁移文件

把需要生成迁移文件的应用配置进来,否则迁移文件无法正常生成

001 | Python | Django框架快速入门_django_29

python manage.py makemigrations

001 | Python | Django框架快速入门_Python_30

执行迁移文件生成命令,会在对应应用下面生成或更新执行文件

001 | Python | Django框架快速入门_django_31

执行下面命令,就可以把迁移文件内容生成数据库表或更新数据库表

python manage.py migrate

001 | Python | Django框架快速入门_Python_32

数据存取

from django.shortcuts import render
from user import models


def user_list(request):
    if request.method == 'POST':
        # 存进数据库
        models.User.objects.create(name=request.POST.get('name'), age=request.POST.get('age'))
        # 数据库取出来
        user_all = models.User.objects.all()
        print(user_all)
    return render(request, 'user/list.html')

001 | Python | Django框架快速入门_html_33

好博客就要一起分享哦!分享海报

此处可发布评论

评论(0展开评论

暂无评论,快来写一下吧

展开评论

客服QQ 1913284695