Cem*_*kam 9 django django-templates
嗨,我需要通过Ajax刷新我的自定义模板标签--right_side.py--.有没有办法在视图中导入模板标签并将其作为HttpResponse返回,因为我不想放弃我的自定义模板标签(它在其他页面中工作得很好),也没有编写一个与它真正相似的新视图操作.
有一个链接用Ajax调用或在视图里面加载它
if request.isAjax():
对我来说都很好.
Cem*_*kam 10
我发现用ajax刷新区域时非常有用.所以认为分享它会很好:
首先,导入在视图文件中编码的自定义模板标记.
from your_app_name.templatetags import your_tag_name
Run Code Online (Sandbox Code Playgroud)
然后你像这样使用它:
return HttpResponse(your_tag_name.your_method(context))
Run Code Online (Sandbox Code Playgroud)
这对我有用,我得到了模板标签作为服务器的响应,并用该结果刷新了div.
Dav*_*Lam 10
前一段时间我有同样的问题,我正在使用AJAX加载HTML片段,我已经将其作为模板标签编写.我试图避免在两个地方重复代码.
这就是我从视图中渲染模板标记(通过ajax调用)的方法:
from django.template import RequestContext, Template
def myview(req):
context = RequestContext({'somearg':"FooBarBaz"})
template_string = """
{% load my_tag from tagsandfilters %}
{% my_tag somearg %}
"""
t = Template(template_string)
return HttpResponse(t.render(context))
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
8567 次 |
最近记录: |