def handle_user_url(self, menu_item):
"""
Evaluate user defined URL
:type menu_item: ChildItem or ParentItem
"""
if callable(menu_item.url):
menu_item.url = menu_item.url(self.request, self.context)
return menu_item
if '/' in menu_item.url:
return menu_item
from django.core.urlresolvers import reverse, NoReverseMatch
try:
menu_item.url = reverse(menu_item.url, current_app=self.current_app)
menu_item._url_name = menu_item.url
except NoReverseMatch:
menu_item.url = '#no-reverse-match'
return menu_item
评论列表
文章目录