将多个视图、模板和/或ajax加载的url组合到一个视图中。

django-mashup的Python项目详细描述


django mashup是django框架的视图mashup。组合多个视图、模板,和/或ajax将url加载到一个基于类的视图中。

分发版或虚拟版:

$pip install git+https://github.com/sigmaeducation/django mashup.git

将应用程序添加到"已安装的应用程序"中:

````
已安装的应用程序=(…
"mashup",


````

====


viewmash

示例:

```
from django.core.urlsolvers import reverse
from mashup.views import mashup,urlmash,templatemash

mymashup类(mashup):
视图=[templatemash("my_app/my_login_instructions.html"),
urlmash(reverse('account:log in'),
]

从django.views.generic.edit import formview
从mashup.views导入mashup,templatemash,viewmash


class myformview(formview):



class mymashup(mashup):
视图=[templatemash("my_app/my_login_instructions.html"),
viewmash(myformview),
]
```

>每个组件类都有一个可选的容器关键字参数。这应该是一个模板名。使用{mashup safe}指定内容的放置位置:

`````
from django.core.urlsolvers import reverse
from mashup.views import mashup,urlmash,templatemash

类my mashup(mashup):
视图=[templatemash("my_app/my_login_instructions.html",
container="my_app/my_template.html"),
urlmash(reverse('account:login'),



#my_app/my_template.html

<;div class=explanation>;{{mashup safe}<;div>;
````

这三个组件类可以使用默认容器进行子类划分。下面的mymashup类将产生与上面的响应相同的响应:

````
来自django.core.urlsolvers从mashup导入reverse
。views导入mashup,urlmash,templatemash

class mytemplatemash(templatemash):
container="我的应用程序/我的模板.html"

class my mashup(mashup):
views=[mytemplatemash("我的应用程序/我的登录说明.html"),
urlmash(reverse('account:login'),
]
```

mashup类也可以被赋予默认容器。下面是mashup的一个抽象子类,它接受两个视图,并将它们包装在divs左窗格和右窗格中。从这个mashup继承的任何mashup都将在这些div中包含它们的视图:

````
from mashup.views import mashup

class mypanemashup(mashup):
containers=("我的应用程序/我的右窗格.html",
"我的应用程序/我的左窗格.html",


……

{{mashup safe}<;div>;

````

>最后,您可以定义mashup视图d按请求方法列出的容器:在"视图"或"容器"前面加上请求方法的小写名称。

在这种情况下,您不希望mashup将html容器和内容附加到post响应:

````
从mashup.views导入mashup,templatemash


从myapp.views导入myajaxformview


类myformmashup(mashup):
获取视图=(myajaxformview,
TemplateMash("我的应用程序/我的登录说明.html",container="我的应用程序/我的模板.html"),

获取容器=("我的应用程序/我的右窗格.html",
"我的应用程序/我的右窗格.html",)

发布视图=(myajaxformview,)
post_containers=()3.4

notes
=
如果使用自定义jquery或javascript函数通过ajax加载页面内容,可以通过提供自己的/templates/mashup/js_jquery_ajax_loader.html来指定该函数。



请求或问题。github是此项目的规范位置。

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

推荐PyPI第三方库


热门话题
java如何使用MVC设计模式观察嵌套对象   java将多个客户端连接到服务器   合并Java Web应用程序   Spring Security中未捕获java AuthenticationSuccessEvent   java Firebase JSON到Arraylist内部的Arraylist,存在对象问题   在Java15的sealedclasses特性中,final类和非密封类之间有什么区别?   java我可以使用数组。copyOf制作二维数组的防御副本?   java球不会在屏幕上移动   Java类如何在同一个文件中包含两个类?   java使用“Character.isWhiteSpace”删除所有空白   java阻止在RealmList中保存时创建领域对象   如何仅在ConnectionFactory上使用Java JMS身份验证   spring可以强制java对象在运行时实现接口吗?   socket无法在JAVA中使用TCP启用双工模式通信