Django扩展库

django-boost的Python项目详细描述


django boost

使用django促进开发的扩展库

downloads

安装

pip install django-boost

git clone https://github.com/ChanTsune/Django-Boost.git

python setup.py install

添加应用程序

设置.py

INSTALLED_APPS=[...'django_boost',]

用例

自定义用户

电子邮件用户

设置.py

...AUTH_USER_MODEL='django_boost.EmailUser'...

替换django默认用户模型
登录时使用电子邮件地址而不是用户名

摘要电子邮件用户

fromdjango.dbimportmodelsfromdjango_boost.modelsimportAbstractEmailUserclassCustomUser(AbstractEmailUser):is_flozen=models.BoolField(default=False)homepage=models.URLField()

当您要向电子邮件用户添加字段时可用

模型混合

uuidmodelmixin

fromdjango.dbimportmodelsfromdjango_boost.modelsimportUUIDModelMixinclassStock(UUIDModelMixin):name=models.CharField(max_length=128)count=models.IntegerField()

idautofield替换为uuifield

时间戳模型混合
fromdjango.dbimportmodelsfromdjango_boost.models.mixinsimportTimeStampModelMixinclassStock(TimeStampModelMixin):name=models.CharField(max_length=128)count=models.IntegerField()

添加了posted\u atupdated\u at字段。

posted_at=models.DateTimeField(auto_now_add=True)updated_at=models.DateTimeField(auto_now=True)

联合收割机
fromdjango.dbimportmodelsfromdjango_boost.models.mixinsimportUUIDMixin,TimeStampMixinclassStock(UUIDModelMixin,TimeStampModelMixin):name=models.CharField(max_length=128)count=models.IntegerField()

模型混音也可以这样组合。

字段

颜色代码字段

pip install django-boost
0

保存十六进制颜色代码字符串,包括。
如果指定upper=true,则保存的文本将大写。
另一方面,指定lower=true将使保存的字符串小写。
不能同时指定两者。
如果两者都未设置,则保存字符串时不做任何更改。
默认值为upper=falselower=flase

中间件

重定向更正主机名中间件

设置.py

pip install django-boost
1

将所有访问重定向到correct\u host中指定的域

debug=true

这在迁移域时很有用

最初应该使用nginx和apache之类的服务器软件来完成,但当设置很麻烦或使用heroku之类的服务时,它很有用

HttpStatusCodeExceptionMiddleware

设置.py

pip install django-boost
2

必须使用稍后介绍的httpstatuscode异常。

httpstatuscode异常

为其他状态代码以及django的标准http404提供异常异常

pip install django-boost
3

必须设置要使用的HttpStatusCodeExceptionMiddleware

模板上下文

用户代理

pip install django-boost
4

如果给定用户代理,如Mozilla/5.0(Macintosh;Intel Mac OS X 10_14_3)AppleWebKit/537.36(KHTML,如Gecko)Chrome/73.0.3683.86 Safari/537.36,请为模板提供以下上下文

pip install django-boost
5

这些信息是使用用户代理获取的

访问混音

允许ContentTypeMixin

限制http请求的内容类型。

pip install django-boost
6

根据http头的内容类型限制请求。

如果不允许内容类型,则将返回http415响应。
您可以通过指定strilly=false来禁用限制

需要重新验证mixin

pip install django-boost
7
pip install django-boost
8

auth_unnecessary是重新认证之前的宽限期。
可以指定inttimedeltanone
0相同

注销=真,如果超过指定的时间限制,则注销
注销=假,即使超过了指定的时间限制,也不要注销

有限混入
pip install django-boost
9

限制访问时间。
开始日期时间指定访问可用的日期和时间,以及结束日期时间指定访问可用的最后日期和时间。

您可以通过重写get_start_date timeget_end_datetime方法来更改可以动态访问的日期和时间。c.y/p>

您可以指定在不满足exception\u类可访问的条件时要引发的异常类。
默认为http404异常。

重定向控件混合

动态直接混合

您可以使用url查询字符串中的next=~来控制重定向目的地,如loginview

git clone https://github.com/ChanTsune/Django-Boost.git

python setup.py install
0

您可以通过更改redirect\u字段名来更改查询字符串参数名

a属性混合

用户代理混合
git clone https://github.com/ChanTsune/Django-Boost.git

python setup.py install
1

用户代理属性分配给自身。请求和 切换要由用户代理显示的模板文件。

如果无法确定用户代理,则将使用template\u name中指定的模板。
PC模板名称平板电脑模板名称移动模板名称没有ARMS,但需要模板名称

jsonrequestmixin

json的allowContentTypeMixin专用mixin。

git clone https://github.com/ChanTsune/Django-Boost.git

python setup.py install
2

您可以访问从客户机在self.json中发送的json字符串解析的dictionary对象

如果您用于api,建议使用下面的jsonview

响应心

jsonresponsemixin

以json格式返回响应

git clone https://github.com/ChanTsune/Django-Boost.git

python setup.py install
3

extra_contextget_context_data的用法与templateview基本相同。 区别在于templateview直接传递给模板上下文,而jsonresponsemixin是直接响应。

如果只想将内容类型限制为json,请指定严格=true

如果您用于api,建议使用下面的jsonview

形式混合

muchedobjectgetmixin

与表单输入内容匹配的条件的对象。 或mixin以添加获取查询集的方法。

git clone https://github.com/ChanTsune/Django-Boost.git

python setup.py install
4
git clone https://github.com/ChanTsune/Django-Boost.git

python setup.py install
5

muchedobjectmixin提供get_objectget_list方法,每个方法返回与表单输入内容匹配的model objectquery set

常规视图

扩展视图

git clone https://github.com/ChanTsune/Django-Boost.git

python setup.py install
6

django_boost通用视图( createviewdeleteviewdetailviewformviewlistviewtemplateviewupdateviewview)类具有设置后视图处理方法,这些在之前和之后调用。分别对视图进行r处理。设置方法与django 2.2中添加的方法相同。

jsonview

jsonresponsemixin

git clone https://github.com/ChanTsune/Django-Boost.git

python setup.py install
7

在上面的例子中,我们只返回发送的json字符串的原样。

模型视图

提供轻松创建链接到模型的crudview。

视图.py

git clone https://github.com/ChanTsune/Django-Boost.git

python setup.py install
8

urls.py

git clone https://github.com/ChanTsune/Django-Boost.git

python setup.py install
9

在模板中,您可以按如下方式使用。

INSTALLED_APPS=[...'django_boost',]
0

URL的名称是在小写模型类名的命名空间下定义的。

命名空间的情况

urls.py

INSTALLED_APPS=[...'django_boost',]
1

在模板中,您可以按如下方式使用。

INSTALLED_APPS=[...'django_boost',]
2

模板标记

使python内置函数在djangotemplate中可用。
一些非内置函数也作为过滤器提供。例如isiterable过滤器。

增压过滤器

INSTALLED_APPS=[...'django_boost',]
3
可查看

isiterable filter如果过滤可重复对象,则返回true,否则返回false。

INSTALLED_APPS=[...'django_boost',]
4

boost URL过滤器

INSTALLED_APPS=[...'django_boost',]
5
urlencode

url对筛选的字符串进行编码。
您可以在参数中指定非转换字符。

INSTALLED_APPS=[...'django_boost',]
6
urldecode

与urlencode相反

INSTALLED_APPS=[...'django_boost',]
7

boost\u url标记

替换_参数

用参数替换当前页面url的查询字符串。

INSTALLED_APPS=[...'django_boost',]
8

有助于分页。

实用功能

循环实用程序

循环优先

当给定迭代器对象的第一个元素时产生true,否则为false。

INSTALLED_APPS=[...'django_boost',]
9

活套

当给定迭代器对象的最后一个元素时产生true,否则为false。

...AUTH_USER_MODEL='django_boost.EmailUser'...
0

循环第一个

结合firstlooplastloop的函数

如果迭代器对象的第一个和最后一个元素为true,则为false,否则为false。

...AUTH_USER_MODEL='django_boost.EmailUser'...
1

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

推荐PyPI第三方库


热门话题
ws-consumer服务地址中的java动态属性   java如何比较整数列表,然后按升序排序?   javascript我正在使用java脚本调用一个函数,但它没有调用代码下面的方法,也没有调用secretitnames()函数   在文本窗格中多次使用Java insertIcon图标   JavaMSAL安卓。AuthenticationActivity完成,但用于身份验证请求的线程池线程仍处于等待状态   if语句中的java多范围比较   java toString()表示输出   java如何在jcstrest测试中生成指令重新排序   java我怎样才能运行它?   web应用程序中使用Hibernate和Spring的java问题   如何将字符串数据写入Java文本文件   如何在java命令提示符下运行已签名的jar文件?   java从我的菜单调用RCP应用程序   java如何等待Canvas/GraphicsContext完成任务,然后再继续执行代码块?