2016-10-06 2 views
0

Я создал пользовательское разрешение на авторизацию в django через сайт администратора, и я добавил это разрешение пользователю (а не группе), теперь я хочу спросить, есть ли у пользователя запроса в шаблоне, но ничего works.It не дубликат, я уже проверил подобные вопросы, и ни одна из этих работ:Пользовательское разрешение Django внутри шаблона

{% if perms.auth.add_something %} 

{% if 'auth.add_something' in request.user.get_all_permissions %} 

{% if request.user.has_perm('add_something') %} 

добавить мое мнение:

class NotificationSelectView(View): 

    template = 'myapp/notification_read.html' 

    def get(self, request, *args, **kwargs): 
     t = tree(request) 
     req_var_list = [] 
     analist = notifications_list(request.user) 
     level = LevelProcess.objects.get(
      level_hierarchical = 3 
     ) 
     subprocess= Process.objects.filter(level = level) 
     user = request.user 
     t.update({ 
      'subprocess': subprocess, 
      'analist':analist, 
     }) 
     return render(request, self.template, t) 

идея это сделать его в шаблоне, чтобы не использовать больше код в представлениях. Любые идеи?, Спасибо заранее.

+1

показать свое мнение. В частности, откуда это взялось? – e4c5

+0

Я создал разрешение через сайт администратора, он принадлежит auth, но я не знаю, почему он не работает, но в моем представлении не упоминается perms вообще, просто назначенный конкретному пользователю через сайт администратора. – jsanchezs

+0

@ e4c5 Я просто добавил – jsanchezs

ответ

1

Джанго в шаблоне он использует переменную завивку для разрешений зарегистрированного пользователя, так что вы можете использовать в шаблоне

{% if perms.auth.add_something %} 
{{do_smth}} 
{% endif %} 

из документации Джанго есть раздел Authentication data in templates, который описывает также разрешения в шаблонах

+0

спасибо за ваш ответ, попробовал это тоже и не работает. .do мне нужно отправить что-то из представления, чтобы это сделать? – jsanchezs

+0

, чтобы использовать пользовательские perms, вы также можете прочитать этот ответ http://stackoverflow.com/a/1876447/924300 –

+0

Это работа, которую вы очень помогли, спасибо человеку! – jsanchezs

Смежные вопросы