跳转到主要内容

基于类的视图模块的一种想法。

项目描述

基于类的视图模块的一种想法。

https://travis-ci.org/tokibito/django-edamame.png

Django Edamame为您提供可继承的模块,用于捆绑多个视图函数,类似于django.contrib.admin应用程序。

Edamame对应以下问题

  • 重用URL模式。

  • 创建具有类似视图函数集的应用程序。

作者

  • Shinya Okano

简单示例

继承Views类,并实现视图函数的方法。并实现get_urls方法以返回URL模式。

为了使用视图类,它在该模块中创建一个实例。

from edamame import base

class SiteViews(base.Views):
    def index(self, request):
        """view function
        """
        return render(request, 'index.html')

    def get_urls(self):
        urlpatterns = patterns(
            '',
            url(r'^$', self.wrap_view(self.index), name='index'),
        )
        return urlpatterns

site_views = SiteViews()

views实例的urls属性,可以传递给urls.py中的include函数。

from django.conf.urls import patterns, include, url
from note.views import site_views

urlpatterns = patterns('',
    url(r'', include(site_views.urls)),
)

通用视图示例

导入ModelViews类,并继承。

from django.core.urlresolvers import reverse_lazy
from edamame import generic
from . import models


class NoteViews(generic.ModelViews):
    model = models.Note
    success_url = reverse_lazy('note:index')

note_views = NoteViews()

urls.py中,使用include函数。

from django.conf.urls import patterns, include, url
from note.views import note_views

urlpatterns = patterns('',
    url(r'note/', include(note_views.urls)),
)

示例项目

存储库中的example目录是一个示例项目。

如果您已安装Django和Edamame,可以立即运行。

$ cd example
$ python manage.py syncdb
$ python manage.py runserver

许可

  • MIT许可

项目详情


下载文件

下载适合您的平台的文件。如果您不确定选择哪个,请了解更多关于安装软件包的信息。

源分布

django-edamame-0.1.tar.gz (3.6 kB 查看哈希值)

上传时间 源代码

构建分发版

django_edamame-0.1-py2.py3-none-any.whl (6.2 kB 查看哈希值)

上传时间 Python 2 Python 3

由以下支持