3

我使用以下内容来确定与索引页面匹配的模式上的模板,其中我根据它是否是 AJAX 请求来确定要加载的模板:

def home(request):

    if request.is_ajax():
        template = "ajax.html"
    else:
        template = "index.html"

    entries = posts.objects.all()[:10]
    return render_to_response(template, {'posts' : entries}, context_instance=RequestContext(request))

但是,我的views.py 中没有提到关于平面页面的任何内容,我怎样才能对平面页面的模板进行类似的request.is_ajax() 检查?

谢谢!

4

1 回答 1

5

知道了!

网址.py

url(r'^(?P<url>.*)$', 'Alpha.blog.views.flatpage', {}, 'flatpage'),

视图.py:

def flatpage(request, url):
    try:
        if url == '':
            url = 'home/'
        flatpage = FlatPage.objects.get(url="/%s" % url)
    except:
        pass

    if request.is_ajax():
        template = 'pages/ajax.html'
    else:
        template = 'pages/default.html'

    context_instance=RequestContext(request)
    context_instance.autoescape=False
    return render_to_response(template, {'flatpage': flatpage}, context_instance)
于 2011-11-29T22:05:17.150 回答