我们有记录用户最后访问的 url 的中间件:
class LastSiteUrl(object):
def is_admin_url(self, url):
if re.search('^(http:\/\/.*){0,1}\/admin\/', url) is None: return(False)
else: return(True)
def process_request(self, request):
if self.is_admin_url(request.path) and \
not self.is_admin_url(request.META['HTTP_REFERER']):
request.session['last_site_url'] = request.META['HTTP_REFERER']
我们使用它来将他们从管理页面返回到他们所在的最后一个应用程序页面,无论他们在管理方面有多深入。这工作正常。
我们有一个自定义的 404 页面,我想从那里提供一个链接,让他们回到他们在应用程序中的位置。但是,当它们转到无效页面时,中间件似乎没有运行。有没有办法让它在这种情况下也能运行?