本文介绍: 知识量决定了未来能走多远

目录

一、url 的 <> 作用

(一)操作流程

(二)前端设置链接

1. 包括:

2. 比如


        前端界面templates点击链接跳转  >  url路由  >  views的kwargs

        ajax的url值;select的option的value值;a标签的href值等

<a href='/url_lang/zh-hans/luobogan'></a>
path('url_lang/<language>/<user>/', views_base.SetLang.as_view(), name='url_set_lang'),

        其中,< > 包裹的内容理解成一个字典的key,key对应的value是前端链接设定的值。

2. 比如

        ‘language’ 的值对应 ‘zh-hans’, ‘user’ 的值对应 ‘luobogan’ 。

class SetLang(View): 
        def get(self, request, *args, **kwargs):

1. 理解

        其中,第四个参数 **kwargs 的字典内容,是路由url中获取的(第二点中有提到)。

2. 比如

        kwargs 的值就是字典 {‘language’: ‘zh-hans’, ‘user’: ‘luobogan’}

from urllib.parse import unquote

nexturl = request.META.get('HTTP_REFERER')
nexturl = nexturl and unquote(nexturl)
return HttpResponseRedirect(nexturl)
return HttpResponseRedirect('/url_set_lang/')
return HttpResponseRedirect('/url_set_lang/?user_id={}&book_id={}'.format('luobo', '数据结构'))
request.GET.get('user_id')
request.META.get('HTTP_REFERER')   # 针对Django

理解:

        当页面A跳转到页面B时,若 http 请求头包含 referer 字段,则该字段值就是页面A的 url 。

注意:

        由于不同浏览器的特点,HTTP_REFERER可能会不存在。即,若要使用HTTP_REFERER,需先检查是否存在。

from urllib.parse import quote
quote('这是一个字符串')

        避免中文乱码。

1. 写法

from urllib.parse import unquote
unquote(my_url)

2. 作用

        unquote( )方法能把 URL编码形式的字串,解码成原来的字串。

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注