跳转到主要内容

Django项目的实用工具和实用程序

项目描述

https://travis-ci.org/PragmaticMates/django-pragmatic.svg?branch=master

django-pragmatic

Django项目的实用工具和实用程序

在Django 1.5到Django 1.10.2上进行了测试

需求

  • Django

一些实用工具需要额外的库,例如

  • django_filters

  • fpdf

  • Pillow/PIL

  • pyBarcode

安装

  1. 使用pip安装python库:pip install django-pragmatic

  2. pragmatic 添加到您的Django设置文件中的 INSTALLED_APPS

使用方法

模板

pragmatic/helpers/breadcrumbs.html

django-breadcrumbs应用模板辅助函数。

pragmatic/helpers/confirm_delete.html

删除确认表单。

pragmatic/helpers/messages.html

django消息框架模板辅助函数。

pragmatic/helpers/pagination.html

在ListViews中分页对象的模板辅助函数。

pragmatic/helpers/pagination-listview.html

在ListViews中分页对象的模板辅助函数。

maintenance_mode.html

维护模式模板。请参阅下面的 MaintenanceModeMiddleware

模板标签

{% load pragmatic_tags %}

def klass(obj)

返回实例类名的字符串。

def translate(obj)

返回输入值(字符串或任何对象)的翻译字符串。

def filename(obj)

返回不带路径的文件名(基本名)。

def bootstrap3_field(field)

form-control类添加到字段小部件类中。

def filtered_objects_counts(filtered, all)

返回值filtered/all的可翻译百分比描述,格式如下:%d (%.2f%%)已过滤,总数为%d” % (filtered, percent, all)”

def qrcode(value, alt=None)

使用Google图表API从给定字符串生成QR码,并为其添加替代描述。

def barcode(code, args=None):

使用pyBarcode库从给定字符串生成条形码。

def paginator(context, objects, page_ident='page', anchor=None, adjacent=2)

分页模板标签。

def divide(value, arg)

将值除以参数。

def multiply(value, arg)

将值乘以参数。

def add(value, arg)

将参数添加到值中。

def subtract(value, arg)

从值中减去参数。

def capture(parser, token)

将块的内容捕获到上下文中。

上下文处理器

def date_formats(request)

从设置文件返回一个懒惰的“日期格式”上下文变量 DATE_FORMAT_JS, DATE_FORMAT_TAG, DATE_FORMAT_FULLMONTH_TAG。

def installed_apps(request)

返回一个懒惰的“INSTALLED_APPS”上下文变量。

装饰器

def permissions_required(app_label, login_url=None, raise_exception=False)

用于检查视图用户是否至少启用了一个应用权限的装饰器,如果需要,则重定向到登录页面。如果提供了 raise_exception 参数,则抛出 PermissionDenied 异常,并将缺少权限的应用标签存储在用户实例中。

def permission_required(perm, login_url=None, raise_exception=False)

用于检查用户是否启用了特定权限的装饰器,如果需要,则重定向到登录页面。如果提供了 raise_exception 参数,则抛出 PermissionDenied 异常,并将缺少的权限存储在用户实例中。

def receiver_subclasses(signal, sender, dispatch_uid_prefix, **kwargs)

用于将接收器和所有接收器子类连接到信号的装饰器。

字段

class RangeField(forms.Field)

表单字段,期望输入是一个数字或数字范围(用“-”分隔的两个数字)。

class MultiSelectField(models.Field)

模型字段,将多个选择存储为逗号分隔的值列表,使用正常的 CHOICES 属性。

class MultiSelectFormField(forms.MultipleChoiceField)

用于上述模型字段(MultiSelectField)的表单字段。

class TruncatedModelChoiceField(forms.ModelChoiceField)

模型选择字段,它截断实例标签中的溢出字符并添加“…”代替它们。

过滤器

class TruncatedModelChoiceFilter(forms.ModelChoiceField)

用于 TruncatedModelChoiceField 的过滤器字段。

class OneFieldRangeFilter(django_filters.Filter)

用于 RangeField 的过滤器字段。

中间件

class MaintenanceModeMiddleware(object)

查找 settings.MAINTENANCE_MODE 属性。如果设置为 True,则对每个请求渲染模板 maintenance_mode.html。

日志处理器

class AlternativeAdminEmailHandler(AdminEmailHandler)

与 django.utils.log 中的 AdminEmailHandler 相同,但使用 ALTERNATE_EMAIL_HOST_PASSWORD, ALTERNATE_EMAIL_HOST_USER, ALTERNATE_EMAIL_HOST, ALTERNATE_EMAIL_PORT 和 ALTERNATE_EMAIL_USE_TLS 作为连接设置。

混入

class ReadOnlyFormMixin(forms.BaseForm)

将“readonly”和“disabled”属性添加到 read_only 表单属性中指定的字段。

class DeleteObjectMixin(object)

用于对象删除确认的混入。实现 get_parent() 方法或 get_success_url()get_back_url() 方法。

class PickadateFormMixin(object)

混入,用于修复 pickadate.js 输入并添加 data-value 属性,如果您使用自己的日期格式。

class FPDFMixin(object)

用于在 Django 中使用 fpdf 库生成 PDF 输出的混入辅助器。

小部件

class GroupedCheckboxSelectMultiple(CheckboxSelectMultiple)

高级表单字段小部件,可以将多个选项分组到自定义组中。与 static/js/grouped-checkboxes.js 一起使用。

第三方

class BarcodeImageWriter(ImageWriter)

barcode.writer.ImageWriter 的固定版本。

项目详情


发布历史 发布通知 | RSS 源

下载文件

下载适用于您平台的应用程序。如果您不确定选择哪个,请了解更多关于 安装包 的信息。

源分布

django-pragmatic-5.0.0.tar.gz (47.5 kB 查看哈希值)

上传时间

由以下机构支持

AWS AWS 云计算和安全赞助商 Datadog Datadog 监控 Fastly Fastly CDN Google Google 下载分析 Microsoft Microsoft PSF 赞助商 Pingdom Pingdom 监控 Sentry Sentry 错误记录 StatusPage StatusPage 状态页面