Django urls.py重构及参数传递详解

1. 内部重构#

Django urls.py重构及参数传递详解_第1张图片

2. 外部重构#

website/blog/urls.py

Django urls.py重构及参数传递详解_第2张图片

website/website/urls.py

Django urls.py重构及参数传递详解_第3张图片

3. 两种参数处理方式 #

1. blog/index/?id=1234&name=bikmin#

#urls.py

url(r'^blog/index/$','get_id_name')

#views.py

from django.http import HttpResponse
from django.template import loader,Context

def get_id_name(request):
  html = loader.get_template("index.html")
  id = request.GET.get("id")
  name = request.GET.get("name")
  context = Context({"id":id,"name":name})
  return HttpResponse(html.render(context))

#index.html


  
  • id:{{ id }}
  • name:{{ name }}
  • 效果如下

    Django urls.py重构及参数传递详解_第4张图片

    2. blog/index/1234/bikmin#

    #urls.py

    url(r'^blog/index/(\d{4})/(\w+)/$','blog.views.get_id_name')

    #views.py

    from django.http import HttpResponse
    from django.template import loader,Context
    
    def get_id_name(request,p1,p2):
      html = loader.get_template("index.html")
      context = Context({"id":p1,"name":p2})
      return HttpResponse(html.render(context))

    #index.html

    
      
  • id:{{ id }}
  • name:{{ name }}
  • 效果如下:

    Django urls.py重构及参数传递详解_第5张图片

    3.blog/index/1234/bikmin (和-2不一样的在于views.py,接收的参数名是限定的)#

    #urls.py

    #限定id,name参数名
    url(r'blog/index/(?P\d{4})/(?P\w+)/$','get_id_name')

    #views.py

    from django.http import HttpResponse
    from django.template import loader,Context
    
    def get_id_name(request,id,name):
      html = loader.get_template("index.html")
      context = Context({"id":id,"name":name})
      return HttpResponse(html.render(context))

    #index.html

    
      
  • id:{{ id }}
  • name:{{ name }}
  • 效果如下

    Django urls.py重构及参数传递详解_第6张图片

    以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

    你可能感兴趣的:(Django urls.py重构及参数传递详解)