django xadmin的扩展

django-xadmin-extras的Python项目详细描述


django-xadmin的附加功能

新功能:

表单向导

将django窗体向导与xadmin视图集成:

使用向导的任何视图都应继承自FormWizardAdminView

fromxadmin_extras.wizardimportFormWizardAdminView,SessionWizardViewMixinclassNotificateView(SessionWizardViewMixin,FormWizardAdminView):"""A wizard view working together with xadmin, using
    SessionWizard backend

    """form_list=[SelectFilterForm,NotificateForm]form_template='admin/fbapps/notificate_form.html'title='FB Push notifications'

其他向导后端可用:SeistWiZordVIEW MIXIN和CookieWizardViewMixin

有关窗体向导的详细信息,请参见django documentation

若要注册一个视图以供管理员使用,并提供名称和保护,请使用register\u view()

importxadminxadmin.site.register_view(r'fbapps/notificate/$',NotificateView,name='fbapps_notification_view')

自定义菜单项

使用AppConfig-like class(适用于Django 1.7),可以为每个应用程序的菜单添加自定义项

在你的应用文件夹中创建一个名为apps.py的文件,创建一个类并编辑init_menu()

# coding=utf-8# from django.apps import AppConfig (commented for django 1.6)fromxadmin_extras.appsimportAdminAppMixinclassFooConfig(AdminAppMixin):"""name and verbose_name are going to be used for django AppConfig too

    """name='foo'verbose_name='Foo app.'icon='foo'definit_menu(self):"""Add custom menu entries to the menu displayed for this app

        Return a list of dicts, each dict will be a entry for the submenu of
        the app:
            {'url': '/admin/.../', 'icon': 'bolt', 'title': 'Custom'}
        also 'perm' and 'order' keys can be added.

        """return[{'url':'/admin/foo/notification/','icon':'bolt','title':u'Send notifications','order':'','perm':None}]APP_CONFIG=FooConfig()

现在,将应用程序分配给要分组的每个模型并注册它们

importxadminimport.modelsasmodelsclassAppAdmin(object):app_config=AppConfigxadmin.site.register(models.Foo,AppAdmin)

在那之后,您只需要扩展commadminview(也许您已经这样做了 如果要更改菜单样式、网站标题、基本模板等,请使用 在XADMNIN Excel中可用的AppCuffVIEW COMIN。视图

importxadmin.viewsasviewsimportxadmin_extrasasviews_extraxadmin.site.register(views.CommAdminView,views_extra.AppConfigViewMixin)

django hstore支持

将小部件XadminHStoreWidget添加到表单定义:

fromdjango_hstore.formsimportDictionaryFieldfromxadmin_extras.django_hstore.widgetsimportXAdminHStoreWidgetfromdjangoimportformsclassHStoreForm(forms.Form):data=DictionaryField(widget=XadminHStoreWidget())

外部应用程序支持

具有自定义视图的应用程序在ext文件夹中定义

django芹菜

importxadmin_extras.ext.celeryasext_celeryxadmin.site.register(ext_celery.celery_models.PeriodicTask,ext_celery.PeriodicTaskAdmin)xadmin.site.register(ext_celery.celery_models.IntervalSchedule,ext_celery.IntervalScheduleAdmin)xadmin.site.register(ext_celery.celery_models.CrontabSchedule,ext_celery.CrontabScheduleAdmin)

django设置

importxadmin_extras.ext.settingsasext_settingsxadmin.site.register(ext_settings.models.Setting,ext_settings.SettingsAdmin)

django邮件工厂

(By default, the mails will be at URL: /admin/mails/)

fromxadmin.viewsimportCommAdminView,filter_hook,FormAdminViewimportxadmin_extras.ext.mailfactoryasext_mailfactoryxadmin.site.register_view(r'^mails/$',ext_mailfactory.MailListView,name='mail_factory_list')xadmin.site.register_view(r'^mails/(?P<mail_name>.*)/$',ext_mailfactory.MailFormView,name='mail_factory_form')xadmin.site.register_view(r'^mails/(?P<mail_name>.*)/preview/(?P<lang>\w+)/$',ext_mailfactory.MailPreviewMessageView,name='mail_factory_preview_message')

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

推荐PyPI第三方库


热门话题
JavaSpringBootHibernate5忽略@Table和@Column   java readLine是如何工作的?   java除了Oracle的JVM(windows)之外,还有什么BSD许可的替代方案吗?   javascript处理程序执行导致异常:所需的MultipartFile参数“file”不存在   java如何检查url是否与标识符匹配?   java在对象创建之后实现一个接口   java安卓:如何将github库放入项目中   java如何制作自定义文本组件?   如何在java中更新属性文件   java Hibernate持久映射   JavaSpring批处理如何从postgres读取数据,然后在步骤中写入数据   java应用程序已在Android Emulator Eclipse中停止   java找不到参数[org.jetbrains.kotlin:kotlinstdlibjdk7:1.3.50]的方法实现()   java AWS DynamoDB如何从数据库中获取只有一个字段的对象   在使用ajax进行表单提交时,java无法阻止默认表单提交   集合如何在Java中定义基于两个变量进行比较的比较器   多线程基准测试Java中的多线程集合   java如何通过浏览器运行终端程序?