url设置
我们打开website的urls.py文件,为了方便我们做如下修改:
为了实现更灵活我们接着做了如下的更改:
1.我们在blog文件夹下面进行再次的urls.py设置:
2.在原本的website的文件夹里的urls.py进行更改
针对不同的输入值进行分析
如我们所知:
1.www.baidu.com/12/asda
2.www.baidu.com/?id=12&name=asda
针对这两种输入我们该如何解决?
- 第一种传值方式
/?id=11&name=asda
输入值如何得到
def index(request):
t = loader.get_template("index.html")
id = request.GET.get("id")
c = Context({"id": id})
return HttpResponse(t.render(c))
id = request.GET.get("id")
显示效果:
第二种传值方法/122/asd
在urls.py中进行配置
urlpatterns = patterns('blog.views',
url(r'^index/(\d{4})$','index'),
)
在views.py进行配置
def index(request,p1):
t = loader.get_template("index.html")
book_list = ["python","ruby","php"]
user = {"name":"tom","age":0,"sex":"male"}
id = request.GET.get("id")
c = Context({"book_list": book_list,"id": p1})
return HttpResponse(t.render(c))
效果:
第三种写法:
直接在urls.py上进行直接的匹配id和那么
url(r'^index/(?P<name>\d{4})/(?P<id>)\w+')$','index')
效果如下:
都在url.py进行对url的构造。
他是一种使用正则表达式的一种使用。
第一种是url(r" url(r'^foo/(\d{4})/(\w+)/$','foo'),")//前面对应的是传入的参数。后面呢是传入的位置
在view.py函数当中可以接受的参数是前面传入的参数
错误
url(r'^bar/(?P<id>\d{4})/(?P<name>\w+)/$','bar'),
在这里是将其进行一个分组,id的组长限制为4个数字,name限制为多个字符。并且对其进行字符长度的限制和分组的命名。