每个django应用程序都需要的常见功能!

django-common-helpers的Python项目详细描述


一个让你的Web应用在域中运行或不运行"WWW"的中间件。base``基类,有助于保持与会话相关的代码面向对象且干净!有关用法详细信息,请参见session.py。

-一个"emailbackend"用于根据用户的电子邮件(用户名除外)对用户进行身份验证。

-一些自定义数据库字段,您可以在模型中使用,包括"uniquehashfield"和"randomhashfield"。

-中有很多有用的函数helper.py

-一个"render_form_field"模板标记,使呈现表单字段变得简单和干燥。

-两个干燥的响应类:django_common.http中的"json response"和"xmlresponse",可以在给出json/xml响应的视图中使用。


r/>----

-安装django_common(理想情况下在您的virtualenv中!)使用pip或者简单地获取代码的副本并将其放入代码库中的目录中。

-将"django_common"添加到django设置"installed_apps"中:


installed_apps=[
带适当值的tings.py:

-is_dev
-is_prod
-域名
-www_root

-在django设置中添加"common_settings"到"template_context_processors"中:

template_context_processors=[

"django common.context_processors.common"ttings,
]

-将"emailbackend"添加到django设置"authentication_backend"中:

authentication_backend=(
"django_common.auth_backend.emailbackend",
"django.contrib.auth.backend.modelbackend"
-如果需要,添加"wwwredirectmiddleware"中间产品列表:

中间件类=[
安装

要获取scaffold,只需下载django common的"scaffold"分支,将其添加到"已安装的应用程序"并在"设置"中设置"scaffold应用程序目录"。

默认设置为主应用程序目录。但是,如果使用django_base_project,则必须将其设置为"scaffold_apps_dir='apps/'`"。

2。运行

以运行scaffold type::


appname是应用程序名。如果应用程序不存在,则将创建该应用程序。
model name是模型名称。只需输入要创建的模型名(例如:blog、topic、post等)。必须是字母数字。每次运行只允许一个模型!

[字段]-模型字段列表。

3.字段类型

可用字段::

text-textfield
int-integerfield
decimalfield
datetime-datetimefield
foreign-foreignkey

所有字段都需要在"`:`"符号后提供名称,例如:

char:title text:body int:posts datetime:create_date

注意:项目中必须存在所有外键模型。用户和组模型将自动导入。

-十进制字段还需要两个参数"最大位数"和"小数位数",例如:

decimal:总成本:10:2

注意:对于所有模型,scaffold将自动添加两个字段:update\u date和create\u date。

4。它是怎么工作的?

脚手架创建模型、视图(crud)、窗体、模板ATE、管理、URL和基本测试(CRUD)。脚手架模板使用两个从基扩展的块。html::

{%extends"base.html"%}
{%block page title%}{%endblock%}
{%block conent%}{%endblock%}

-————————————————————————————————————————————————————————————————————————————我们需要"forum"、"topic"和"post"模型。

-forum模型


forum模型只需要一个字段"name":python manage.py scaffold forum——模型forum char:name

-topic模型

d``forum``外键(``update`date``和``create`date``总是添加到模型中)::


-post model

最后一个是post。帖子与主题相关。这里我们需要:``title``,``body`,``created`by``和``topic``的外键::

python manage.py scaffold forum--model post char:title text:body foreign:created`by:user foreign:topic:topic

所有数据都应该准备好!

现在您必须将"forum"应用程序添加到"installed\u apps"中,并将应用程序包含在"url.py"文件中,方法是将其添加到urlpatterns::

urlpatterns=[

url(r'^',include('forum.url'),
]

hon manage.py syncdb

运行服务器::


,并转到论坛主页::


http://localhost:8000/forum/

所有结构都已就位。现在,您可以对模型、模板和url进行个性化设置。

最后,您可以通过运行test来测试新应用::


>为别名"default"创建测试数据库…
……。
-----
在0.884s中运行了7个测试


正常

脚手架快乐!

生成secret_key
----


有时需要生成一个新的"secret_key",因此现在可以使用以下命令生成它:

$python manage.py generate_secret_key

示例输出:

$python manage.py generate_secret_key

密钥:7,=t?n@'wv=p`itia6"居杰里采夫?s:`f~jtl 2i=i^z%rcp-


>可选参数


1。``--length`—键的长度"default=50`
2。``--alphabet`—用于生成密钥的字母表``default=ascii字母+标点符号``

---------

-domain\u name-域名,```"www.example.com"``
-www\u root-根网站url,`"https://www.example.com/"``
-isev-当前环境是开发环境
-是产品-当前环境是生产环境



Tivix,Inc.为您带来了这个开源应用程序(http://tivix.com/)




changelog
===

<0.9.2
----
-django 2.x的更改

0.9.1
----
-django 1.10的更改-render()必须用dict调用,而不是上下文

0.9.0
----
-django 1.10支持
-readme.txt无效字符修复
-在emailbackend中添加对自定义用户模型的支持
-修复db字段和管理命令

0.8.0
----
-兼容代码移到compat.py
-``生成密钥''管理命令。
-修复与https://code.djangoproject.com/ticket/17627有关的包名更改。
-通过hiddeninput小部件传递表单字段ugh render_form_field
-string.format用法/其他重构/对python 3的更多支持


<0.7.0
----
-pep8代码库清理。
-改进了python3支持。
-django 1.8支持。

>0.6.4
----
-添加了python3支持。

>0.6.3
----
-将mimetype更改为jsonresponse类中的content-type,以反映django 1.7的否决。

0.6.2
----
-使用simplejson作为回退的django 1.7兼容性


0.6.1
----
-添加了手动将内容附加到电子邮件的支持(不提供文件路径)。

-添加了loginRequiredMixin



<0.6
--
-添加了对django 1.5的支持对于render_form_字段中的多选复选框字段模板和单选按钮

-添加测试电子邮件后端以覆盖所有传出电子邮件中的"抄送"和"密件抄送"字段

-添加自定义文件电子邮件后端以将电子邮件另存为具有自定义扩展名的文件

-重写FRA与引导程序兼容的段



>0.5.1
----


-Django 1.4中不推荐的根路径+



<0.5
--


-添加了self.get-inline-instances()用法,而不是self.inline-instances

-将最低要求更改为Django 1.4+,因为以上内容。



0.4
--


-添加了嵌套的内联模板、js和完整的ajax支持。现在,我们可以动态地添加/删除嵌套字段。

-jsonpresponse对象用于padded json

-用户时间跟踪功能-用户在站点上的时间、关联的中间件等。

-@anonymous_required decorator:用于不应被lo访问的视图已登录用户。

-添加了encryptedTextField和encryptedCharField

-misc。错误修正

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

推荐PyPI第三方库


热门话题
java允许具有不同父类的类扩展类,而无需多重继承   java如何创建动态化的JScrollPane w/JPanel作为客户端?   java如何组织和命名包   在Java中读取属性文件   java无法解释的Android意图行为   在Java中动态执行多个BPEL文件的部署   ssl Java 6 SNI(服务器名称指示)?   java我们可以使用Robot框架自动化web和移动应用程序来执行并行执行   java for star pettern的循环   java为什么BinaryReader在线程中,从netty读取错误的数据包?   在java中将华氏度转换为摄氏度   使用Spark和java处理空值和引号编写CSV文件   Java中已排序日期到块的列表   visual studio代码VSCode Java不是linting或自动完成局部变量,而是自动完成Java快捷方式,如“sysout”