django应用程序,用于创建与django mptt模型关联的层次url。

django-mptt-urls的Python项目详细描述


概述
——


此可重用应用程序有助于创建任意深度的[清除URL](http://en.wikipedia.org/wiki/clean_url),这些深度对应于模型实例的MPTT树层次结构,比如:

`http://best photographer.com/gallery/weddings/dexter and rita/`

`http://best photographer.com/gallery/my pets/dogs/husky/`

当用户看到这些url时,他们可以很容易地发现它们的位置。它们可以删除URL的某些部分,从而在层次结构中向上移动。

django mptt url只是一个知道如何解析层次结构URL的简单视图。

(无需额外设置,除了sqlite3数据库支持:
```
git clone https://github.com/contribut0r/django mptt url.git
pyvenv django mptt url
source django mptt url/bin/activate
pip install django mptt url/
python django mptt url/test-project/manage.py runserver
``

浏览器。

需求
----


使用django 1.7、python 3.4.3开发,其他版本也可以工作。如果需要Python2支持,只需使用fork和patch,代码行就很少了。

django mptt url使用[django mptt](https://github.com/django mptt/django mptt)。它将根据需要自动安装。

blank=true)
slug=models.slugfield()
class meta:
unique-unique-together=('slug','parent')
```


install django mptt-mptt-url:

````
````
pip install django mptt-url



>slug=models.slugfield()
>class-unique-togetjango-mptt-url



unique-unique-togetjango-mptt-mptt-url:

````py

导入mptt_url


url(r'^gallery/(?p<;path>;*)',mptt_url.view(model='gallery.models.category',view='gallery.views.category',slug_field='slug'),{'extra':'您也可以像往常一样传递额外的选项!'},name='gallery'),


````

p<;path>;*)`,当启动url解析时,它将传递给“mptt_url.view”。你可以任意定义“path”(例如“(?”)p<;path>;[\d/]+)`),但是**不要忘记在regex中包含“/”。
*用特殊的“mptt-urls.view”替换您的视图。


如果您写
```
url(r'^gallery/(?p<;path>;*)、'gallery.views.category',name='gallery')、
```
“gallery.views.category”视图将接收“path”变量,并且必须进行对象解析。
“mptt”url.view`,您将自动获取解析对象-“gallery.views.category”视图将接收“path”和“instance”变量:
```
url(r'^gallery/(?p<;path>;*)',mptt_url.view(model='gallery.models.category',view='gallery.views.category',slug_field='slug'),name='gallery'),
`````

`mptt_url.view`选项是:
*`model`-从mpttmodel派生的模型。
*`view`-将处理请求的视图。别忘了捕获'path'和'instance'('def category(request,path,instance):`)。如果解析失败,“instance”将为none。
*`slug_field`-存储模型实例slug的字段

get_absolute_url()
---————
好的,url(…)定义直接url解析。
要定义反向url解析,请添加到模型中:
````
类类别(mpttmodel):

def get_absolute_url(self):
返回reverse('gallery',kwargs={path':self.get_path()})
````
此处,我们使用“category.get_path()”,这是自使用“mptt_url.view”以来可用的。


许可证
----
mit。随心所欲。
有关详细信息,请查看许可证文件。

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

推荐PyPI第三方库


热门话题
java如何使用getter的返回值,使用反射?   java在树中查找子树的简单方法   解析需要解析JAVA源代码   java为什么spring不使用我的构造函数初始化这个bean(映射参数)   java与@JoinColumn和@MapKeyColumn保持@OneToMany关系   字符串Java For循环以显示所有唯一的子字符串   java会自动编译Drl文件吗?当服务器运行时,如果我们更改Drl文件?   java从特定应用程序获取所有服务的列表(从清单)   java 安卓源代码构建应用找不到安卓supportv4。罐子   在使用更高版本的JDK编译时,如何验证依赖项的java版本?   java无法在eclipse中放置断点   返回带有帮助JSON的字符串(Java和Spring)   java如何使用Hibernate transformers将HQL转换为实体列表   java Spring在登录后默认情况下不会设置身份验证cookie。为什么?   java在viewPager中的两个片段之间共享listView