1.定义函数
from django.http import HttpResponse
这段代码是在 Django 框架中导入 HttpResponse
类。HttpResponse
类是 Django 提供的一个类,用于构建 HTTP 响应对象。
当你使用 Django 构建 Web 应用时,你可能需要返回一个 HTTP 响应给用户。HttpResponse
类可以用来创建这样的响应对象,并向用户发送回复。你可以将文本、HTML、JSON 数据等内容作为参数传递给 HttpResponse
类的实例,然后将其返回给用户。
例子:
from django.http import HttpResponse
from django.shortcuts import render
# Create your views here.
def my_view(request):
response = HttpResponse("Hello, World!") # 创建一个带有 "Hello, World!" 内容的 HttpResponse 对象
return response # 返回响应对象给用户
2.配置URL
查找视图的过程
请求者在浏览器地址栏中输入url,请求到网站后,回去url信息,然后与编写好的URLconf逐条匹配
如果匹配成功则调用对应的视图函数,如果所有的URLconf都没有匹配成功,则返回404错误
一条URLconf包括了url规则,视图两部分
url规则使用正则表达式定义
视图就是在view.py中定义的视图函数
需要两步完成URLconf配置:
1.在应用中定义URLconf配置;
2.包含到项目的UR了conf中
在news/应用下创建urls.py文件定义如下:
views.py文件的完整代码:
from django.http import HttpResponse
from django.shortcuts import render
# Create your views here.
"""
视图函数定义的基本要求
1.必须定义一个参数(通常命名为request)
request参数;用于接受客户端的请求信息的
2.视图函数的返回值必须是一个HTTPResponse的对象(或者是HTTPResponse的子类对象)
视图函数的使用的流程图:
1,在应用views.py定义视图函数
2.配置路由
a.在项目目录中urls.py中关联应用的urls.py
from django.contrib import admin
from django.urls import path, include, re_path
urlpatterns = [
path('admin/', admin.site.urls),
# 将应用中的urls文件包含起来 ,先在from django.urls import path,include
re_path(r'^news/', include('news.urls'))
]
b.在应用的目录下定义一个urls.py文件(可以直接copy项目目录下urls.py文件)
c.在应用中配置具体的访问代码
from django.urls import path
from .views import index
# 配置路由规则
urlpatterns = [
# http://域名(ip+端口)/news/index
path('index', index),
]
"""
def index(request):
res = '这个是index页面返回的内容'
return HttpResponse(res)
# def my_view(request):
# response = HttpResponse("Hello, World!") # 创建一个带有 "Hello, World!" 内容的 HttpResponse 对象
# return response # 返回响应对象给用户
news/urls.py 温降完整代码:
from django.urls import path
from .views import index
# 配置路由规则
urlpatterns = [
# http://域名(ip+端口)/news/index
path('index', index),
]
主应用下的urls.py文件完整代码:
"""DJweb01 URL Configuration
The `urlpatterns` list routes URLs to views. For more information please see:
https://docs.djangoproject.com/en/3.2/topics/http/urls/
Examples:
Function views
1. Add an import: from my_app import views
2. Add a URL to urlpatterns: path('', views.home, name='home')
Class-based views
1. Add an import: from other_app.views import Home
2. Add a URL to urlpatterns: path('', Home.as_view(), name='home')
Including another URLconf
1. Import the include() function: from django.urls import include, path
2. Add a URL to urlpatterns: path('blog/', include('blog.urls'))
"""
from django.contrib import admin
from django.urls import path, include, re_path
urlpatterns = [
path('admin/', admin.site.urls),
# 将应用中的urls文件包含起来 ,先在from django.urls import path,include
re_path(r'^news/', include('news.urls'))
]