django应用程序可以轻松处理数据库请求和其他工具

django-ohm2-handlers-light的Python项目详细描述


Django-Ohm2-handlers-光源代码创建一个python+3.5virtualenv

安装依赖项(可选):

-dateutil
-crypto
-should
-unidecode
-htmlmin
-qrcode
-barcode

在已安装的应用程序中添加"ohm2-handlers-light":

创建表:

./manage.py migrate







models
----


handlers_light有两个基本模型:


class basemodel(models.model):
identity=models.charfield(max_length=settings.string_double,unique=true)
created=models.datetimefield(默认值=时区。now)
last_update=models.datetimefield(默认值=时区。now)


objects=ohm2_handlers_light_managers.ohm2handlerseltinmanager()

def_u str_u(self):
returnself.identity

abstract=true



class baseerror(basemodel):
app=models.charfield(max_length=settings.string_double)
code=models.integerfield(默认值=-1)
message=models.textfield(默认值="")
=models.textfield(默认值=)

ins_filename=models.charfield(max_length_=settings.string_double,null=true,blank=true,默认值=)
ins_lineno=models.integerfield(null=true,blank=true,默认值=0)
ins_function=models.charfield(max_length=settings.string_double,null=true,blank=true,默认值=)
ins_code_context=models.textfield(null=true,blank=true,默认值=)

def str(self):
返回"{0}{1}{2}{3}"。格式(self.identity,self.app,self.code,self.message)




将"base model"用作项目中每个模型的基本模型。




context processors
----


"后端":"django.template.backends.django.djangotemplates",
"目录":[],
"应用程序目录":true,
"选项":{
"上下文处理器":[
"django.template.context处理器.debug",
"django.template.context_processors.request"、
"django.contrib.auth.context_processors.auth"、
"django.contrib.messages.context_processors.messages",

"欧姆2处理器轻。上下文处理器。上下文"、

]、
}、
}、
]





然后将提供"C欧姆2处理器轻"。此变量由"ohm2-handlers_light.utils.get_context"控制。



获取默认值或获取默认值

def post_view(请求):


keys=(
("内部名称"、"外部名称"、"默认值"),



cleaned_params=get_as_或获取默认值(请求.post,键)






decorators
----


安全请求(ohm2-handlers-light.decorators.ohm2-handlers-light-safe-request):

除其他外,每个包装的函数都将在一次尝试中包装。如果发生错误,将创建一个requestexception(ohm2_handlers_light.definitions.requestexception)对象。

使用此装饰器处理的每个请求都将具有此作为返回结构:

(响应,错误)





ess用户使用"ohm2-handlers-light.utils.mix-cleaned-data"输入数据,结构如下::

(数据类型、数据名称、选项)




示例::

("字符串"、"用户名",1)



变量用户名将用作最小长度为1的字符串。


可用的检查项(数据类型->;选项->;注释):

-字符串->;字符串长度->;无
-电子邮件->;无->;无
-密码->;带要检查的验证的dict->;{'lowercase':true,'uppercase':true,'digits':true}:所有值都是可选的
-bool->;dict映射bool变量->;{'true':'false','false':'false'}:此函数将查找'true'和'false'并将它们转换为true/false
-u_file->;none->;检查上载的文件是否为inMemoryUploadedFile/TemporaryUploadedFile类型
-type->;变量类型->;检查变量的类型是否类似:type(variable)==int
-mix->;要检查的类型列表->;[int,float,键入(无)











用法
----




使用以下命令创建django应用程序::

/manage.py ohm2-u-handlers-u-light-startapp-a-your-app



数据库用法::

导入model



现在,通常的查询如下::

entry=h懔utils.db懔get懔or懔none(model,**kwargs)懔gt;models.objects.get(**kwargs)包装在一次尝试中,但objectdoesnotexist其他项除外
=h_utils.db_u filter(model,**kwargs)=>;models.objects.filter(**kwargs)
entry=h_utils.db戋u create(model,**kwargs)=>;models.objects.create(**kwargs)







从django呈现
。http import httpresponse
from ohm2_handlers_light.parsers import get_as_or_get_default
从您的应用程序导入调度程序导入get_as_dispatcher


def post_view(请求):

键=(
("内部整数","外部整数",1),
("inner string","outter string","default string"),


ret,error=your_app_dispatcher.post_view(request,get_as_or_get_default(request.post,keys))
如果错误:
返回httpresponse(error.regroup())
返回render(request,"template.html",{"ret":ret})




来自ohm2处理器的light import utils作为h utils
来自ohm2帐户的light import utils作为ohm2帐户的light import utils
来自您的应用程序的decorators导入您的应用程序安全请求

@您的应用程序安全请求
后视图(请求,参数):
p=h实用程序。已清理(参数,(
("type","inner integer",int),
("string","inner string",1),
))



ret={
"p":p,
}
ret


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

推荐PyPI第三方库


热门话题
json错误“不是JSONObject”:以字符串形式返回此格式的API。如何使用Java从中读取和创建对象?   java GridGain无法绑定到Linux上的任何端口   java在Mac上使用Netbeans,Netbeans找不到。txt文件   使用条件的java查询   甲骨文java。lang.ClassCastException错误   测试JBehave和Java varargs如何将参数传递给varargs方法?   JavaFX,NASA世界风:如何将JavaFX组添加到NASA世界风模型中   java如何将onClick函数传递给Intent   java从文件中读取序列化对象?   java获取资产文件夹的完整路径   java为什么Spring找不到资源文件?   java如何更改启动活动?   在问题类中使用datechooser时,如何用java中的系统当前日期验证用户输入日期   java如何使用Hibernate Envers(@Audited)而不使用Hibernate生成任何表   当从java加速计中检索到更准确的数据时?   如何在java中提取特定的json数据