2、学习Django开发基础

本文详细介绍Django项目从创建到运行的全过程,包括环境搭建、项目与应用的创建、目录结构解析,以及如何通过视图函数处理用户请求并返回响应。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Django项目创建

安装

pip3 install django # 安装
成功后 会出现 django-admin 命令

先创建project

方法一:
django-admin startproject my_first_site #项目名为my_first_site
方法二:

利用pycharm工具,直接创建django项目

创建好的项目的目录结构:

        mysite
        ├── manage.py       # 管理程序的文件,启动和结束等。
        └── my site
            ├── __init__.py
            ├── settings.py     # 程序的配置文件,路由配置
            ├── urls.py     # 程序的路由系统,即:url和处理其函数的对应的关系
            └── wsgi.py     # 指定框架的wsgi

再创建app

一个项目中会包含一个或多个子项目,每个项目实现不同的功能和服务,如微信里包含基本通信功能,还有支付、小程序等,每块业务都可以分为一个子项目。在django中, 我们管这个子项目叫app。下面是一个有多app的项目。

一般程序简单情况下,只需要创建一个app即可。

python manage.py startapp app01   #app01 是app名称

App结构

WEB程序的一般流程

浏览器访问网站的本质:socket客户端、socket服务端之间的收发消息。

流程

  1. 【服务端】网站启动,并监听IP和端口,如:127.0.0.1:80,等待客户端来连接…

  2. 【客户端】浏览器中输入http://www.oldboyedu.com/index/,浏览器先后进行:
    1、连接:域名解析得到网站IP,并根据端口进行连接。
    2、发送消息:将请求数据发送给服务端,发送数据本质上是字符串,格式如下:

     ```
     GET /index/ http1.1\r\nhost:www.luffycity.com…..\r\n\r\n
                                  
     POST /index/ http1.1\r\nhost:www.luffycity.com...\r\n\r\nage=18&num=1
     ```
    
  3. 【服务端】接收用户请求发来的数据,并根据请求字符串解析,并做出响应。
    响应:HTTP/1.1 200 OK\r\nContent-Type: text/html;...\r\n\r\n<html>...</html>
    4.【客户端】接收服务端响应的内容,将响应体展示在浏览器上,响应头偷偷保存到浏览器。

  4. 【客户端】【服务端】连接断开,Http请求终止(体现了Http短连接)。

···注意:请求和响应基本包含请求头和请求体并通过\r\n\r\n进行分割。

Django 的第一次请求:

1、urls 中主要编写路由信息,先导入模块,添加方法

在这里插入图片描述

2、views中创建视图【业务处理函数】
1、参数:request包含了请求的相关数据,相当于start_response('200 OK',[('Content-Type', 'text/html;charset=utf-8')])
2、返回值 :return HTTPResponse("first")
3、启动 :python manage.py runserver 0.0.0.0:8000
过程

用Django 开发用户登录页面

用户登录是个表单啦,但目前我们只会用Django返回字符串,表单涉及的html元素比较多,总不能在view.py里写好返回,可以直接把你的Html代码写在模板**(template)**

模板使用

1、配置存html文件的模板目录
2、在你的views.py的响应函数里返回对应的html文件

在这里插入图片描述

在这里插入图片描述

MVC / MTV及二者区

请求-> url.py -> views.py -> template -> 浏览器, 流程为什么这样安排?中间如何要从数据库里拿数据,是应该在哪个阶段?其实Django或其它web语言的web框架在开发时都符合了某种神秘的套路,这个套路是什么?即MVC.

MVC:

	MVC 是一种使用 MVC(Model View Controller 模型-视图-控制器)设计创建 Web 应用程序的模式

具体:

Model(模型)一般对应数据库操作、纪录的存取
View(视图)决定着如何展示数据
Controller(控制器)负现处理用户交互的部分。控制器负责从视图读取数据,控制用户输入,并向模型发送数据。【Controller 相当于url处理部分,将url和逻辑函数关联起来】

在这里插入图片描述

MTV:

Django是一个MTV框架,其架构模板看上去与传统的MVC架构并没有太大的区别。Django将MVC中的视图进一步分解为 Django视图 和 Django模板两个部分,分别决定 “展现哪些数据” 和 “如何展现”,使得Django的模板可以根据需要随时替换,而不仅仅限制于内置的模板。至于MVC控制器部分,由Django框架的URLconf来实现。

在这里插入图片描述
具体
在这里插入图片描述

二者区别:

MVC : VIEWS负责 业务逻辑处理 和 数据展示
MTV : VIEWS 负责业务逻辑处理
  	  Template负责数据展示
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值