在django模板和视图中轻松获取部分或完整url的小工具。
django-full-url的Python项目详细描述
django完整的url
==
==
在django中获取当前页面的url的特定部分可能非常繁琐。这个小软件包通过提供python帮助程序和上下文处理器使获取url的一部分变得容易。所有信息都是从requestcontext对象收集的,不需要易出错的“site”配置!
您可以提取的一些url部分:
*域
*http或https
*端口
*路径
*查询(获取参数)
有些情况下,您可能需要获取特定的url部分:
*添加域名,以便在电子邮件中包含域中的图像。
*获取完整的url(协议、域,(路径和查询)用于在社交网络上共享页面。
*使用“http”或“https”获取指向同一页面的链接。
git+https://github.com/rrmoelker/django-full url.git-egg=django-full-url`
\usage
一种方法使用上下文处理器使不同的url部分数据在所有[模板](上下文处理器)中可用。第二种方法提供帮助程序,帮助您直接从视图中或在[python代码](python代码)中访问requestobject的其他位置获取信息。有关可用参数,请参见[requestgrabber](35; grabber)
上下文处理程序
您可以添加一个上下文处理程序,它将把变量“url_parts”添加到所有模板中。
可以在“template_context_processors”列表中的任何位置添加该处理程序:
````
template_context_processors=(
…
“full_url.context_processors.urlpart”,
…
)
```
`url_parts`变量是一个[requestgrabber](grabber)对象。要将URL的一部分真正插入到模板中,您可以这样做:
`````
…
{br/>{{url-parts.domain}
```
``````````````````
``
``````````完整的url.grabber导入请求grabberrequestgrabber对象的一个实例,使用:
```
url parts=requestgrabber(request)
````
获取一个part使用:`url parts.domain()`。请参阅[requestgrabber](grabber)以获取可用的URL部分。
lt;a name=“grabber”>;<;/a>;requestgrabber
假设我们正在查看以下视图:`http://localhost:8000/news/2014/?sort=ascending item2`
requestgrabber具有以下可用功能:
*协议:http://
*域:localhost:8000
*端口:8000
*路径:/news/2014/
*查询:sort=ascending
*完整的URL:/news/2014/?sort=升序
*绝对uri:http://localhost:8000/news/2014/?sort=ascending
请注意,我们无法获取url(item2)的片段部分。
在正常操作期间,浏览器不应发送此信息,因此此时不提供获取此信息的功能。
请让我知道它是否在其他版本的设置中工作)
请创建票证以帮助改进此工具!
==
==
在django中获取当前页面的url的特定部分可能非常繁琐。这个小软件包通过提供python帮助程序和上下文处理器使获取url的一部分变得容易。所有信息都是从requestcontext对象收集的,不需要易出错的“site”配置!
您可以提取的一些url部分:
*域
*http或https
*端口
*路径
*查询(获取参数)
有些情况下,您可能需要获取特定的url部分:
*添加域名,以便在电子邮件中包含域中的图像。
*获取完整的url(协议、域,(路径和查询)用于在社交网络上共享页面。
*使用“http”或“https”获取指向同一页面的链接。
git+https://github.com/rrmoelker/django-full url.git-egg=django-full-url`
\usage
一种方法使用上下文处理器使不同的url部分数据在所有[模板](上下文处理器)中可用。第二种方法提供帮助程序,帮助您直接从视图中或在[python代码](python代码)中访问requestobject的其他位置获取信息。有关可用参数,请参见[requestgrabber](35; grabber)
上下文处理程序
您可以添加一个上下文处理程序,它将把变量“url_parts”添加到所有模板中。
可以在“template_context_processors”列表中的任何位置添加该处理程序:
````
template_context_processors=(
…
“full_url.context_processors.urlpart”,
…
)
```
`url_parts`变量是一个[requestgrabber](grabber)对象。要将URL的一部分真正插入到模板中,您可以这样做:
`````
…
{br/>{{url-parts.domain}
```
``````````````````
``
``````````完整的url.grabber导入请求grabberrequestgrabber对象的一个实例,使用:
```
url parts=requestgrabber(request)
````
获取一个part使用:`url parts.domain()`。请参阅[requestgrabber](grabber)以获取可用的URL部分。
lt;a name=“grabber”>;<;/a>;requestgrabber
假设我们正在查看以下视图:`http://localhost:8000/news/2014/?sort=ascending item2`
requestgrabber具有以下可用功能:
*协议:http://
*域:localhost:8000
*端口:8000
*路径:/news/2014/
*查询:sort=ascending
*完整的URL:/news/2014/?sort=升序
*绝对uri:http://localhost:8000/news/2014/?sort=ascending
请注意,我们无法获取url(item2)的片段部分。
在正常操作期间,浏览器不应发送此信息,因此此时不提供获取此信息的功能。
请让我知道它是否在其他版本的设置中工作)
请创建票证以帮助改进此工具!