[Django学习] Django基础(2)_URL配置

一. 什么是urls.py

  urls.py是Django框架的url请求映射表

二. 文件常规位置

  1. <Project文件夹> urls.py

  2.<App文件夹> urls.py

三. 配置格式

urlpatterns = patterns('视图前缀',  
    path(r'^正则表达式1/$', '视图函数1', name="url标识1"),  
    path(r'^正则表达式2/$', '视图函数2', name="url标识2"),  
) 

  1. '视图前缀':可以为空

  2. '^正则表达式1/$':url地址匹配

ip地址name<MySite> urls.py<Blog> urls.py
http://localhost:8000/网站首页path('',views.index)
http://localhost:8000/Blog/博客列表path('Blog/', included(Blog.urls))path('',views.Show_Blog_List,name="Blog_List")
http://localhost:8000/Blog/1博客内容path('<int:id>/',views.Show_Blog_Detail,name="Blog_Detail")

     

 

  3. '视图函数':为views.py中真是存在的函数

  4. name:一个视图函数可能对应多个url请求,name作为该url引用的唯一标示,必须全局唯一。例如在网页模板中可以写如下的URL 

#(1)带参数的 
   <a href="{% url '<name>' arg1 arg2 arg3 ...%}></a> 
#(2)不带参数的 
   <a href="{% url '<name>' %}"></a> 
# (3)以tag来确定参数的 
   <a href="{% url '<name>' <tag_name>=xxxx%}"></a> 

例如:path('<int:id>/', views.show_BlogArticle_Detail, name='show_BlogArticle_Detail')

from django.urls import include, path
from Blog import views

urlpatterns = [
    path('', views.show_BlogArticle_List, name='show_BlogArticle_List'),
    # blog_list.html: <a href="{% url 'show_BlogArticle_Detail' blog.id %}">{{ blog.title }}</a>
    path('<int:id>/', views.show_BlogArticle_Detail, name='show_BlogArticle_Detail')
]
def show_BlogArticle_Detail(request, id):
    # path('<int:id>/', views.show_BlogArticle_Detail, name='show_BlogArticle_Detail')
    blog_detail = get_object_or_404(BlogArticle, pk=id)
    # blog_detail.html: {{ blog_detail_html.title }}
    return render_to_response('blog_detail.html', {'blog_detail_html':blog_detail})

  (1)'<int:id>/':

      必须与views.show_BlogArticle_Detail(request, id)命名相同,

      前端显示值对应blog_list.html: <a href="{% url 'show_BlogArticle_Detail' blog.id %}">{{ blog.title }}</a>

      后端获取值对应views文件中show_BlogArticle_Detail(request, id)

  (2)views.show_BlogArticle_Detail:

      对应views.py中的函数show_BlogArticle_Detail(request, id)

  (3)name='show_BlogArticle_Detail'

      对应blog_list.html: <a href="{% url 'show_BlogArticle_Detail' blog.id %}">{{ blog.title }}</a>

四. url如何工作

  客户端(浏览器url请求) --> 服务器 --> <Project文件夹> urls.py --> <App文件夹> urls.py --> <App文件夹> views.py --> 客户端(浏览器url请求)

 


注明:学习资料来自“再敲一行代码的个人空间”以及“杨仕航的博客”

转载于:https://www.cnblogs.com/AngryZe/p/9013044.html

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值