def menu_edit(request): current_site = get_current_site(request) try: menu = Menu.objects.get(site=current_site).json_tree except Menu.DoesNotExist: menu = '[{"title": "", "description": "", "url": ""}]' if request.method =='POST': try: Menu.objects.get(site=current_site).delete() except Menu.DoesNotExist: pass menu = striptags(request.POST.get('menudata')) menu_obj = Menu(json_tree=menu, site_id=current_site.id) menu_obj.save() request.session['success'] = True cache.set('sitemenus_' + current_site.domain, render_menu(current_site), sys.maxint) return redirect('sitemenus_menu_edit') success = request.session.get('success') if success: del request.session['success'] return render(request, 'sitemenus/sitemenus_edit.html', { 'menu': menu, 'success': success })
def render(self, context): current_site = Site.objects.get_current() cached_menu = cache.get('sitemenus_' + current_site.domain) if cached_menu: return cached_menu rendered_menu = render_menu(current_site) cache.set('sitemenus_' + current_site.domain, rendered_menu, sys.maxint) return rendered_menu