用于分类、内容集合和导航的可插入应用程序。

dj-contentmodel的Python项目详细描述


使用django mptt和django taggit的分类法、内容集合和内容模型的样板。

功能

  • 拖放式构造分类法。
  • 组、分类、集合、内容和附件之间的任意关系。
  • 用于显示包含或不包含集合内容的分类法的模板。

文档

dj内容模型只是django mptt和django taggit的样板。 它通过集合定义具有任意关系的层次结构。 快速启动示例是许多项目的充分起点。 dj contentmodel提供的每个抽象类都是django.db.models的后代,因此 把它们扩展为django模型。组和分类类也是 django mptt的mpttmodel类的后代,并可以相应地扩展。 其他示例dj contentmodel的抽象类可以在https://dj-contentmodel.readthedocs.org上找到。

快速启动

首先,安装DJ ContentModel:

pip install dj-contentmodel

然后,导入抽象基类。

from dj_contentmodel.models import Taxonomy, Collection, Content, Attachment

接下来,对导入的类进行子类化,以便根据需要创建分类法和内容模型。 下面的示例是最小配置。 定义的类的名称是任意的,但类之间的关系不是。

class Sitemap(Taxonomy):
    """Main navigation"""
    collections = models.ManyToManyField('Bucket', blank=True)
    class Meta:
        verbose_name = "Category"
        verbose_name_plural = "Categories"
    ...

class Bucket(Collection):
    """Arbitrary collections to group content."""
    contents = models.ManyToManyField('Page', blank=True)
    ...

class Page(Content):
    ...

class Report(Attachment):
    parents = models.ManyToManyField('Page', blank=True)
    ...

最后,向管理员注册您的模型。

from django.contrib import admin
from mptt.admin import DraggableMPTTAdmin

admin.site.register(
    Sitemap,
    DraggableMPTTAdmin,
    list_display=(
        'tree_actions',
        'indented_title',),
    list_display_links=(
        'indented_title',),)
admin.site.register(Bucket)
admin.site.register(Page)
admin.site.register(Report)

如果不进行迁移,则可能需要创建表。

python manage.py migrate --run-syncdb

运行测试

代码真的有用吗?现在我祈祷。 以后的迭代将是测试驱动的,包括集成和性能测试。

source <YOURVIRTUALENV>/bin/activate
(myenv) $ pip install -r requirements_test.txt
(myenv) $ python runtests.py

历史记录

0.1.0(2016-06-07)

  • pypi上的第一个版本。

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

推荐PyPI第三方库


热门话题
用户界面java,使用gui连接到另一台计算机/服务器的文件系统   运行sbt的ubuntu返回错误:“javahome需要<path>参数”   java如何在Android中处理许多ImageView而不出现内存问题?   查询中非法字符的java相同URL失败   安卓取消引用可能会产生“java”。lang.NullPointerException'   java中的indexoutofboundsexception“java.lang.ArrayIndexOutOfBoundsException”错误   xml Java将dom保存到文件>文件在程序结束后由另一个进程打开   Java的垃圾收集器是如何工作的?   Java如何筛选值(列表)   java处理字符串我怎样才能像在真实的书籍中一样在上面部分生成“小数字”呢?   java SonarQube是否有一个API来获取所有项目分析的一部分?   java startActivity(intent)什么都不做   JAVAutil。扫描器类Java   java如何从Firebase更新电子邮件?UpdateMail方法已被弃用   java Hibernate。如何正确组织带有注释的onetomany关系?   在java中获得卷标和驱动器号之间的映射(而不是FileSystemView)的解决方法是什么   java查找文件的路径