将多个视图、模板和/或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是否可以安全地对正在迭代的数组进行变异?   linux java对'main'集合的未定义引用2:ld返回1退出状态   java如何在dynamodb上按多个字段进行排序(有解决方法吗)?   java错误处理servlet停止工作,我不知道原因:(   多线程如何在Java中暂停/恢复ExecutorService中的所有线程?   java为什么是我的jsoup。连接(url)无法使用某些url?   多线程理解Java多线程中的内存可见性   java sonar scanner可以在没有sonarqube服务器的情况下工作吗   如何从java中的页面获取不同的url?   java从文件中查找命令行中指定的单词   java类的“set”方法是否应该返回“void”或“boolean”?   如何使用java代码批量读取文件内容   二进制十进制(java.lang.NumberFormatException)   java如何在同一个句子中分别替换同一个单词但大小写不同?   java Spring `RestController`方法注释了`Transactional`,但“当前没有活动的事务”?   java OWL API:如何将域分配给OWLObjectProperty上的范围   java变量末尾的$有特殊意义吗?   java什么距离计算(经度、纬度)更精确?   卡片布局java GUI