在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)的片段部分。
在正常操作期间,浏览器不应发送此信息,因此此时不提供获取此信息的功能。


请让我知道它是否在其他版本的设置中工作)

请创建票证以帮助改进此工具!

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java根据选择随机设置图标   java如何将Android Studio与本地服务器数据库SQL server 2008连接?   java在点击鼠标后绘制一个椭圆形   java选项窗格相对于其父项的位置   java如何在Android中的switch case中使用String[]输入?   安卓无法从“15.0.1”确定java版本   如果满足特定条件,java是否重置计时器?   java是一个实体类,可以在OOAD中返回其他实体实例吗?   bash将对jar文件| cut | awk和java程序的调用集成到一个统一进程中   Spring安全更新身份验证成功时的最后登录日期   数据库身份验证中基于Java控制台的客户端服务器登录应用程序错误   java Selenium junit测试失败,驱动程序过早获取URL   java LibGdx多点触摸事件混淆   带扫描仪的java打印空间   来自旧版应用程序的java springcloudsleuth头   java如何实现模板设计模式?   java如何比较具有多个值的键的两个映射?   读取时R中的java MemoryError。xlsx