django应用程序旨在帮助通过前端界面轻松操作/创建数据库记录。它被称为maced for merge add clone edit delete。

django-maced的Python项目详细描述


[![下载](https://img.shields.io/pypi/dw/django maced.svg)(https://pypi.python.org/pypi/django-maced) < BR>[版本](https://img.shields.io/pypi/v/django maced.svg)(https://pypi.python.org/pypi/django-maced) < BR>[许可证](https://img.shields.io/pypi/l/django maced.svg)(https://pypi.python.org/pypi/django-maced) < BR>[巨蟒](https://img.shields.io/pypi/pyversions/django maced.svg)(https://pypi.python.org/pypi/django-maced) < BR>
<;img src=maced_green.png width=300/>; < BR>
django应用程序旨在通过前端界面帮助轻松操作/创建数据库记录。它叫
准备合并添加克隆编辑删除。如果您想报告任何bug,可以使用github问题跟踪器。如果你
有意见,请发邮件至khostetl@nd.edu。 < BR>
要求 < BR>
*仅限Python 2.7。
*django>;=?(我正在使用1.8.6和1.9.1)
*django-bootstrap3>;=?(我正在使用6.2.2)
*jquery>;=?(我正在使用1.12.0) < BR><注释>< BR>
这个django应用程序在使用maced项时添加了字体awesome 4.4.0。如果你使用的是另一个版本的字体awesome,
执行下列操作之一: < BR>
*使用4.4.0
*更改django maced的本地副本以使用您的版本(在modal.html和container.html中替换)
*不要做任何事。根据具体情况,这实际上可能不会给您带来任何问题。 < BR>
我确实计划在某个时候解决这种情况,但考虑到问题的罕见性,它的优先级相当低。 < BR>
建议 < BR>
粗体按钮使用bootstrap3主题。在你的页面上包括这个: 'BR/'`html
<;link rel="stylesheet"href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.5/css/bootstrap theme.min.css">;
< BR>
安装 < BR>
使用pip安装最新版本: < BR>
`pip安装django maced` < BR>
开发版本可以使用"pip install git+https://github.com/macainian/django maced.git"安装,尽管
警告说,我对开发版本没有任何保证。有时它是完全破碎的,因为我
在主要代码更改和从一台计算机交换到另一台计算机的过程中。 < BR>
用法示例 < BR>
必须与基于类的视图一起使用。不过,基于函数的视图可能有一个解决方法。
下面的示例假设存在一个名为example_app的django应用程序,其中包含此maced对象的url(有关此的详细信息
稍后)。还应该有一个名为example的模型,其中包含名称和描述字段。这个例子也假设
是一个名为login的URL,它指向登录页面。 < BR>
在视图中:
``巨蟒
从maced.utils.maced_creator导入add_item_到_context,完成_items_的context
从website.apps.example\u app.models导入示例 < BR>< BR>
类someview(templateview):
模板"blah/something.html" < BR>
定义获取上下文数据(self,**kwargs):
context=super(self.\u class\uuuu,self).获取上下文数据(**kwargs) < BR>
示例字段列表=[
{"name":"name"},
{"name":"description"},
< BR>
将项目添加到上下文(
context=上下文,item_name="example",item_html_name="example",item_model=示例,
item_name_field_name="name",field_list=example_field_list,name_of_app_with_url="example_app"
当前项目ID=0
) < BR>
确定项目的上下文(上下文,login url=reverse("login")) < BR>
返回上下文
< BR>
在URL中,例如应用程序:
``巨蟒
来自django.conf.url导入url < BR>
从maced.views.function_-based.maced_-view导入maced_-view < BR>
从website.apps.example\u app.models导入示例 < BR>
urlpatterns模式=[
网址(r"^maced"例如/$",maced_view,name="example_app.maced_example",
kwargs={"item_model":示例},

< BR>
在顶部的"something.html"模板中: 'BR/'`html
<;脚本>;
var maced_data={{maced_data安全};
<;/脚本>; < BR>
<;脚本src="{%static"maced/js/maced.js"%}">;<;/脚本>;
< BR>
在要显示maced对象的模板中: 'BR/'`html
<;table class="table table striped">;
{{example_item safe}
<;/表格>; < BR>
{maced modals safe}
< BR>
确保modals不在任何表中。 < BR>
就这样。只需少量代码,您就可以合并、添加、克隆、编辑和删除
通过一个易于使用的下拉/按钮/弹出系统从数据库中记录。注意上面的许多名字
实际必须遵循的特定名称。还要注意的是,对这些项目有一些假设,例如
模型上的名称字段是唯一的。 < BR>
特别提示 < BR>
示例1(当页面上可能有或可能没有可从中提取以前信息的对象时处理案例)
因此,首先让我们来看看处理这样的情况的困难方法:我们有一个对象,我们不知道它是否是无对象。 < BR>
``巨蟒
示例字段列表=[
{"name":"name"}
< BR>
如果example_parent为none:
示例ID=0 其他:
example_id=get_current_item_id(example_parent,"example")此函数附带django maced < BR>
将项目添加到上下文(
context=上下文,item_name="example",item_html_name="example",item_model=示例,
item_name_field_name="name",field_list=example_field_list,name_of_app_with_url="example_app",
当前项目ID=示例ID < BR>< BR>
确定项目的上下文(上下文,login url=reverse("login"))
< BR>
现在这一切都很好,但是对于一个有很多项目的页面来说,这可能会很庞大和乏味,因为
每次都不检查,以便您可以正确发送它以获取当前的项目id()。事实证明
get_current_item_id()实际上允许传递一个none对象,如果它是none,则默认为0。所以把它传进去 照原样进行。我们试试看: < BR>
``巨蟒
示例字段列表=[
{"name":"name"}

将项目添加到上下文(
context=上下文,item_name="example",item_html_name="example",item_model=示例,
item_name_field_name="name",field_list=example_field_list,name_of_app_with_url="example_app",
current_item_id=get_current_item_id(例如父项,"示例") < BR>< BR>
确定项目的上下文(上下文,login url=reverse("login"))
< BR>
好多了。现在让我们继续为拥有多个项的情况创建一个单独的函数。我通常做一个
单独的函数add_maced_items()并传递上下文和父对象(可以是none)。尤其是
如果您有一个createview和一个editview,这会很有帮助,因为您可能会使用所有相同的maced项。创建视图
不传递任何内容,但editview将传递一个实例;两者都将被处理。让我们看看例子2。 < BR>
示例2(创建一个单独的函数,以保持get context data()中的内容更干净,并以简洁的方式创建项) < BR>
``巨蟒
定义添加的项(上下文,示例父项):
app_name="示例应用程序" < BR>
item_name="示例"
字段列表=[
{"name":"name"}

将项目添加到上下文(
context=context,item_name=item_name,item_html_name="example",item_model=示例,
item_name_field_name="name",field_list=field_list,name_of_app_with_url=app_name,
current_item_id=get_current_item_id(例如父项、项名称) < BR>) < BR>
项目"示例2"
字段列表=[
{"name":"name"}
{"颜色":"颜色"}

将项目添加到上下文(
context=context,item_name=item_name,item_html_name="example2",item_model=example2,
item_name_field_name="name",field_list=field_list,name_of_app_with_url=app_name,
current_item_id=get_current_item_id(例如父项、项名称) < BR>< BR>
确定项目的上下文(上下文,login url=reverse("login"))
< BR>
我知道这是本例中非常基本的概念,但是如果您有大量的项,那么这样做将加快
对流程进行了大量改进。复制粘贴编辑。你编辑得越少越好对吧?:) < BR>
示例3(为其他对象选择) < BR>
接下来让我们看看如何为"object"类型的选择获取选择选项,以便我们可以在
数据库。对于这个例子,假设我们有一个名为house的模型,它有一个名为door的字段,这是一个模型
称为门,其中有一个名为handle的字段,该字段是一个名为handle的模型。 < BR>
``巨蟒
定义添加的项目(上下文、房子):
app_name="构建应用程序" < BR>
项目"门"
字段列表=[
{"name":"name"},
{"name":"handle","type":"select","select type":"object",
"options":[(handle.id,handle.name)用于handle.objects.all()]},

将项目添加到上下文(
context=context,item_name=item_name,item_html_name="door",item_model=门,
item_name_field_name="name",field_list=field_list,name_of_app_with_url=app_name,
current_item_id=get_current_item_id(房子,物品名称) < BR>< BR>
确定项目的上下文(上下文,login url=reverse("login"))
< BR>
通常我会在函数中放"[(handle.id,handle.name)for handle in handle.objects.all()",以使其看起来 更漂亮。最后,我们将研究带有maced项的模型继承。 < BR>
< BR>
在本例中,我们将使用一个名为subject的模型,它是基本模型。然后我们假设我们有几个模型
这个模型固有的,但在这个例子中我们只讨论一个;神职人员。牧师属于教堂
因此有一个面额。所以我们还将使用一个称为命名的模型。所以神职人员是一个
面额,而其他子模型没有面额。还要记住,我们不知道
无论是否是神职人员,都不会被派进来。 < BR>
现在我们可以看一个例子: < BR>
``巨蟒
定义添加项(上下文、主题):
app_name="示例应用程序" < BR>
item_name="面额"
面额字段列表=[
{"name":"name"},

尝试:
面额id=get_current_item_id(subject.clergy,item_name)
除属性错误:
面额=0
将项目添加到上下文(
context=context,item_name=item_name,item_html_name="面额",item_model=面额,
项目名称字段,字段列表=命名字段,应用程序名称,URL=应用程序名称,
当前物品id=面额id < BR>< BR>
确定项目的上下文(上下文,login url=reverse("login"))
< BR>
就这样。只是一个简单的尝试,除了属性错误。这将允许您仍然使用"获取当前物品"ID
而不是担心什么是没有什么和什么不是。 < BR>
特别感谢
*xaralis:编写了merge_model_objects()的原始版本,可在此处找到:https://djangosnippets.org/snippets/2283/ <>*Tyomklz:为Django Maced制作徽标

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

推荐PyPI第三方库


热门话题
java如何在创建对话框时设置模糊背景   java支持clojure中的xml和json REST响应   java在Android中通过多个JSON对象循环   java如何创建T类型的新对象   Java应用程序的设计   java使用GridView、适配器和毕加索制作流行电影应用程序   java在映射中交换值   java在同一活动/布局中多次使用同一片段   使用FixedLengthTokenizer使用java Spring FlatFileItemReader   javajavax。xml。ws。WebServiceException:javax。xml。肥皂SOAPException:错误代码QName必须是命名空间限定的!在weblogic server 12c中部署时   当我在构造函数中调用java Autowired属性时,该属性为null   线程“main”java中的linux异常。网BindException:地址已在使用中   java检查两个日期周期是否重叠   有没有办法通过安卓应用程序自动检测java服务器应用程序是否在线?   java检查2D数组中4个连续相同的对角线元素(连接4个游戏)   向Java数组添加数据   java组织。弹性搜索。客户运输NoNodeAvailableException:配置的节点均不可用:[]