Django初识上

本文详细解读了HTTP协议的工作原理,包括客户端与服务端交互的B/S架构,以及GET、POST、PUT、DELETE等请求方式及其应用场景。同时介绍了响应状态码和Django框架在动态网站开发中的应用。

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

HTTP协议

HTTP协议

超文本传输协议,目的是为了提供一种发布Web及接收Web页面数据的方法;常用端口为80;过程:客户端首先通过80端口向HTTP服务端发起请求,建立TCP连接,之后进行HTTP数据传输

B/S架构

HTTP 协议属于建立在 TCP 协议中的应用层上的一种协议,HTTP 协议以客户端请求和服务端应答为标准,浏览器(*browser*)通常被人称为客户端,Web 服务器(*server*)常被称作服务端,所以人们经常称这样浏览器/服务端的架构为 B/S 架构

Request 请求

当使用HTTP协议访问某个连接时,首先向服务器提交一个Request请求
Request消息分为三部分:Request Line、Request Header、Body

请求方式
请求解释
GET获取服务端数据,查
POST向服务端提交数据 ,增
PUT向服务器上传数据,更新
DELETE删除服务端通过Request-URL的资源,删
Response 响应

服务端接收到之后,会返回一个Response响应,浏览器接收到,对信息进行解析

状态码
状态码意义
200—OK客户端的请求服务端正常完成
301—Moved Permanently客户端请求的资源已被永久移到新的URL
302—Found客户顿请求的资源被临时移动,客户端继续使用原有 URL;常用于三方登录之后的跳转
404–Not-Found客户端请求的方式不被允许
502—Bad Geteway服务端内部错误,服务端错误的网关
静态网站

将数据直接写死在页面中

动态网站
Django框架

Django主要采用MVT模式

  • M-model:模型,操作数据库功能部分
  • V-View:视图,处理业务逻辑的位置,提取数据、获取用户数据等待操作都在这里
  • T-Template:模板,用来展示视图操作后的数据,也可以在模板中为用户提供表单,让用户可以提交数据

MVC

  • M-model:模型,和MVT的m是一样的,同样用来操作数据库
  • V-view:视图,和MVT的T是一样的,用来进行数据的可视化
  • C-Controller:控制器,相当于MVT中的C,用来进行数据的逻辑操作
框架安装
pip install django==2.2.2 # 安装django
项目创建
# 创建djanjo应用
django-admin startapp 应用名
# 启动项目
python manage.py runserver
目录介绍
  • manage.py:用来管理当前项目的一个命令行工具
  • myproject:项目主文件夹,包含了项目最基本的配置文件及路由文件
  • __init__.py:空文件,用来指明当前的myproject为一个可导入的模块包
  • settings.py:项目主要配置文件
  • urls.py:项目主要路由配置文件
  • wsgi.py:项目部署WSGI并发服务器时所需要的配置文件
settings.py配置(自己默认为重要的)
  • DATABASES:数据库配置项,默认使用SQLite3,一个本地文件数据库
  • INSTALL_APPSDjango项目中所有使用的应用名称,自创建子应用也要加到这里,不然ORM数据库无法被识别到
  • ROOT_URLCONF:主路由配置文件,字符串填写 url.py 文件路径
  • LANGUAGE_CODE:所使用语言文件,一般国内项目采用zh-Hans
  • TIME_ZONE:所使用时区,一般国内项目采用Asia/Shanghai
  • DATABASES:数据库配置项,默认使用SQLite3,一个本地文件数据库
  • STATIC_URL*:访问静态资源时的URL***路径
子应用的创建
python manage.py startapp 应用名
子应用目录结构
  • admin.py*:这个app****所使用表模型在admin注册展示时需要的文件
  • views.py:视图函数文件,编写主要的增删改查等数据逻辑的地方
  • models.py:未来操作数据库时,如果使用ORM****映射关系,那么将使用该文件
子应用视图逻辑
编写视图

打开app下的viems.py文件,编写视图函数
views.py中我们通过编写函数的形式,接收用户请求的request并返回一个response,这个response通过HttpResponse方法进行返回,这个方法很简单,返回的就是一个html字符串

# 导包
from django.http import HttpResponse

# 视图函数
def MyView(request):
	# 返回一个相应
	return HttpResponse('<h3>视图</h3>')
编写路由

在主项目名中的urls.py,编写

# 导包 myapp-应用名
from myapp import views
# 主路由
urlpatterns = [
    path('admin/', admin.site.urls),
    path('myview/',views.MyView)
]
### Django新手入门与头歌作业示例 对于希望学习Django的新手来说,可以从一些简单的项目入手来熟悉框架的核心概念和基本操作。以下是关于如何通过完成特定的“头歌作业”或其他类似的练习来掌握Django的一些指导。 #### 1. 安装与环境配置 在开始任何Django项目之前,确保已安装Python并设置好虚拟环境。可以按照以下命令创建一个新的Django项目: ```bash pip install django django-admin startproject mysite cd mysite python manage.py runserver ``` 这会启动一个本地服务器,默认地址为`http://127.0.0.1:8000/`[^1]。 #### 2. 创建应用 Django中的每个功能通常被封装在一个独立的应用程序中。可以通过如下命令创建新应用程序: ```bash python manage.py startapp songs ``` 此命令会在当前目录下生成`songs`文件夹及其结构,其中包括模型、视图和其他组件定义的位置[^3]。 #### 3. 数据库设计 (Models) 假设我们要构建一个音乐播放列表管理工具作为“头歌作业”。可以在`songs/models.py`里定义歌曲的数据表单: ```python from django.db import models class Song(models.Model): title = models.CharField(max_length=200) artist = models.CharField(max_length=100) album = models.CharField(max_length=200, blank=True) def __str__(self): return f"{self.title} by {self.artist}" ``` 上述代码片段展示了如何利用Django ORM系统快速建立数据库模式[^2]。 #### 4. 配置URL路由 为了让用户能够访问到我们的资源,在项目的根urls.py添加路径映射至songs app内部的具体逻辑实现处。 ```python from django.urls import path, include urlpatterns = [ ... path('songs/', include('songs.urls')), ] ``` 同时记得也要在`songs/app`下面新建对应的urlconf文件用于进一步细化请求分发规则。 #### 5. 编写视图(Views) 和模板(Templates) 继续完善views.py以响应HTTP GET / POST 请求,并渲染HTML页面展示给前端使用者查看或者提交表单项修改后台存储的信息内容等等。 --- ### 提供更多实践机会推荐几个不错的在线平台链接帮助大家更好地理解实际应用场景下的编码技巧: - [官方文档](https://docs.djangoproject.com/) - [Real Python Tutorials](https://realpython.com/tutorials/django/) - [MDN Web Docs - Learn Django](https://developer.mozilla.org/en-US/docs/Learn/Server-side/Django)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值