Django的宏URL库

django-macros-url的Python项目详细描述


#[django宏url](https://github.com/phpdude/django-macros-url/)v0.4.0-路由必须尽可能简单


django宏url通过使用宏可以方便地在django应用程序中编写(和读取)url模式。

`
和`:product_slug`。当然,它们都将被编译成与组名相同的regex模式。
也接受多个下划线。

[![构建状态](https://travis-ci.org/phpdude/django-macros-url.svg?branch=master);(https://travis ci.org/phpdude/django宏url)


\([1-9])10 11 12)
天-((0 1 2)?([1-9])[1-3]0 31)
id-\d+
pk-\d+
page-\d+
uuid-[a-fa-f0-9]{8}-?[A-FA-F0-9]{4}-?[1345][a-fa-f0-9]{3}-?[A-FA-F0-9]{4}-?【a-fa-f0-9】{12}
```




>如果你想在默认情况下提供更多的宏,你可以fork并发出一个pull请求。



//35




``````

````

````

``````

//````
`````
``安装安装django宏url

django宏url的使用方法与django标准url相同。您只需导入它并用宏声明
模式即可。

此外,您还可以用“macrosurl.register(macro,pattern)”方法注册新宏(或者用类似的regex
模式替换默认宏)。


注册示例。

``python
import macrosurl

macrosurl.register(“myhash”,'[a-f0-9]{9}')

url patterns=patterns(
'yourapp.views',
macrosurl.url('^:myhash/$','myhash\$main'),
macrosurl.url('^news/:news\$myhash/$','myhash\$news'),
````

可以在任何地方注册自定义宏(我在main url.py文件中注册)。宏url使用lazy
初始化。只有在第一次请求时才会编译宏。

它通过规则对其进行规范化:

-从左侧删除所有空白,然后^
-从模式右侧删除所有空白,然后$
-添加到左侧^
-添加到右侧$

这使您的URL始终非常强大,可以向路径中添加任何意外的参数。

对象。

library检查视图的类型,如果视图的类型为object,并定义了“as-view”函数,则调用此函数。这允许在url.py文件中省略“.as_view()”调用。但如果需要,您可以使用params调用本手册。

此功能可帮助您保持url.py文件尽可能干净。希望你喜欢这个功能!


url(':category_slug/:product_slug/','category_产品'),
url(':category_slug/:product_slug/:变量‘id’,‘category_产品‘变量’),
url('news/'新闻','新闻'),
url(
url('news/'新闻','新闻','新闻'),
url('news/:年/:月/:日','新闻'日期'),
url('news/:新闻//'url('news/:新闻','新闻','新闻','新闻'),
url(,索引视图),
)标准django url示例

``python
from django.conf.url import patterns,url
from project.portal.views import indexview


'yourapp.views',
url('^(?)p<;category_slug>;[\w-]+>;)/$','category'),
url('^(?)p<;类别_slug>;[\w-]+>;)/(?p<;product_slug>;[\w-]+>;)/$','category_product'),
url('^(?)p<;类别_slug>;[\w-]+>;)/(?p<;产品_slug>;[\w-]+>;)/(?p<;variant\u id>;\d+>;)$','类别产品'u variant'),
url('^news/$','新闻',
url('^news/(?p<;年份>;\d{4}>;)/(?p<;月>;(0?([1-9])10 11 12)>;)/(?p<;天>;((0 1 2)?([1-9])[1-3]0 31)>;)$','新闻日期',
url('^news/(?p<;slug>;[\w-]+>;)$','新闻条目',
url('^order/(?p<;i d>;\d+>;)$','order'),
url('^$',indexview.as_view(),

````


;-)

我认为原始url regexp模式只需要1%的大小写。我更喜欢简单的方式来编写(和阅读,这是
重要的)花哨的干净的url。


\contributor

[alexandr shurigin](https://github.com/phpdude/)

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

推荐PyPI第三方库


热门话题
在ElasticSearch中将SearchHit转换为Java对象   第三方库类的java重写XmlAdapter   java如何使用动画类获得平滑的动画效果?   Java PDFBox如果文本内容超过PDF的第一页,如何添加新页面?   Java二叉搜索树u根到最近叶的距离   java什么是diff Scanner和BufferedReader   java如何设计不生成并行数组的程序   java多次声明变量会降低执行速度吗?   java如何使用JXLAPI读取下拉列表的值   多线程为什么自定义阻塞队列在Java中不是线程安全的   java在一个变量中每输入1000个单位,就从另一个变量中减去1?   java Mapstruct通用映射器   Java中的类能否确定它是否已被修改?   java如何在MogoOperations聚合函数中定义输出类型?