python 3.url了解与基础使用
URL使用
视图:
我们运行项目在网页上查看到的我们称之为
视图
视图一般在views.py下编辑
它的第一个参数永远都是request,通过它请求一些数据返回给网页给我们查看。
视图函数的返回结果必须是HttpResponseBase对象或者子类的对象。
from django.http import HttpResponse
def xxx(request):
#通过return返回 HttpResponseBase
return HttpResponse("通过request请求返回的值!")
映射
写完视图后需要与Url进行映射好比http://127.0.0.1:8000/id
网站后面输入的id即为url,django就会从url.py进行寻找视图
#需要使用django.urls.path函数进行包裹映射和视图
from django.urls import path
#导入需要映射的文件
from app import views
#我们把这些匹配放在urlpatterns变量中,他是django规定的不用深究
urlpatterns = [
#第一个参数为url,第二个为需要的视图函数
path('id/',views.xxx),
]
这样访问http://127.0.0.1:8000/id
的时候就会看到设置的视图
在url中添加参数
有时候url需要一些动态调整,127.0.0.1/p/1
比如博客某文章的id就是1,那么它是/p/<id>
这样的动态的
path('book/',views.book_list),
path('book/<book_id>/',views.book_detail)
而在views中我们可以这样编写:
方法①:
def book_detail(request,book_id):
text = "您输入的书籍的id是:%s" % book_id
return HttpResponse(text)
这样在网页输入的url就是它的id,例如127.0.0.1/book/<1>
那么会返回您输入的书籍的id是:<1>
方法②:
通过查询字符串的方式传递一个参数过去。示例代码如下:
path('book/detail/',views.book_detail)
在views.py中的代码如下:
def book_detail(request):
book_id = request.GET.get("id")
text = "您输入的书籍id是:%s" % book_id
return HttpResponse(text)
那么就可以通过/book/detail/?id=1即可将参数传递过去。
在URL中包含其他的urls模块
我们的项目不可能就一个app,那么我们就需要用多个views,要是使用一个url映射会显得特别混乱,那么我们就需要使用不同的url
不懂include函数的点击右方链接查看→include基本使用文章链接←
# app/urls.py文件:
#我们需要导入include。帮助我们使用多个url
from django.urls import path,include
urlpatterns = [
#把需要的`url`放在`include`中,这样凡是在`book/`里面的url时都会去`book`app下的urls.py中寻找相应的值
path('book/',include("book.urls"))
]
下一篇介绍path函数的定义及参数
人生苦短。希望大家能和我交流学习哦。
右侧分类下的每篇文章都有排序方便阅读。