我的模板标签中需要request.path。但是问题是,我的Django版本是1.5.1,而我没有TEMPLATE_CONTEXT_PROCESSORS
,所以没有django.core.context_processors.request
。现在,它给了我错误:
Exception Type: AttributeError
Exception Value:'str' object has no attribute 'path'
Exception Location:C:\Users\Nanyoo\web\pics\album\templatetags\active_tags.py in active, line 8
还有其他方法可以在模板中获取所需的路径吗?
views.py:
def home(request):
photos = Photo.objects.all()
return render(request,"index.html", {'photos':photos})
active_tags.py:
from django import template
register = template.Library()
@register.simple_tag
def active(request, pattern):
import re
if re.search(pattern, request.path):
return 'active'
return ''
最佳答案
请在上下文字典中传递请求对象。
def home(request):
photos = Photo.objects.all()
return render(request,"index.html", {'photos':photos,'request':request})