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/)
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
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/)