xst*_*ter 39 django django-templates django-views
如何从模板级别调用视图方法,如RoR中的部分渲染?这个博客很好地说明了这个问题.我可以使用include在模板中包含模板,但是我必须匹配模板层的所有变量名称.我真的希望在模板中包含视图并解耦图层.该博客是一年前写的.从那以后有更好的解决方案吗?
谢谢
Mic*_*tra 28
https://docs.djangoproject.com/en/dev/ref/templates/builtins/?from=olddocs#include
如果在包含partial时使用'with'参数,则不需要匹配变量 - 您可以在包含模板之前重命名变量.我发现这种技术使我能够创建更多可重用的模板.此外,它比创建包含标记少得多.例如:
{% include 'partials/blog_entry.html' with blog_entry=my_blog_entry %}
Run Code Online (Sandbox Code Playgroud)
pip install django_render_partial
添加'django_render_partial'INSTALLED_APPS
确保'django.template.context_processors.request'在TEMPLATES['OPTIONS']['context_processors']
{% render_partial %}在模板中使用标签:
{% load render_partial %}
{# using view name from urls.py #}
{% render_partial 'partial_view' arg1=40 arg2=some_var %}
{# using fully qualified view name #}
{% render_partial 'partial_test.views.partial_view' arg1=40 arg2=some_var %}
{# class based view #}
{% render_partial 'partial_test.views.PartialView' arg1=40 arg2=some_var %}
Run Code Online (Sandbox Code Playgroud)
GitHub 上提供了包含这些示例的测试项目。
| 归档时间: |
|
| 查看次数: |
28900 次 |
| 最近记录: |