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。随心所欲。
有关详细信息,请查看许可证文件。
——
此可重用应用程序有助于创建任意深度的[清除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。随心所欲。
有关详细信息,请查看许可证文件。