On 18 February 2010 14:02, Alexey Kostyuk <akost...@kaluga.ru> wrote: > Hi ALJ! > > Why can not you add a model 'reports' (in your example) and add the > required permissions? > Also you can add custom permissions[1] to any other models of your app > and use them. > > [1]http://docs.djangoproject.com/en/dev/topics/auth/#id2 > > On Thu, 2010-02-18 at 04:29 -0800, ALJ wrote: >> Hi Alexey, >> >> But how do you set a permission for a view? There's no underlying >> model to which to add the custom meta permissions. >> >> ALJ >> >> On Feb 18, 12:48 pm, Alexey Kostyuk <akost...@kaluga.ru> wrote: >> > On Thu, 2010-02-18 at 02:30 -0800, ALJ wrote: >> > > First project and struggling a bit. >> > >> > > I have some views that I want to restrict access to, depending on user >> > > type. How do I do that? >> > >> > > For example, I have a 'reports' view that I only want teachers to >> > > see ... not students. I can't see how to create a custom permission >> > > because there is no underlying model for the view. So do I need to >> > > create a custom user model or would it be better to just use >> > > profiles? >> > >> > > :-( >> > >> > You can use decorator @permission_required in your views. >> > See link[1] for details. >> > >> > [1]http://docs.djangoproject.com/en/dev/topics/auth/#the-permission-requ.. >> > >> > -- >> > Alexey Kostyuk <akost...@kaluga.ru> >> > > > -- > You received this message because you are subscribed to the Google Groups > "Django users" group. > To post to this group, send email to django-us...@googlegroups.com. > To unsubscribe from this group, send email to > django-users+unsubscr...@googlegroups.com. > For more options, visit this group at > http://groups.google.com/group/django-users?hl=en. > >
Permissions are defined per Model basis. You define a permission for each Model in Models Meta class. class UserType(models.Model): id = models.CharField(max_length=3, primary_key=True) name = models.CharField(max_length=30) def __unicode__(self): return u'%s' % (self.name) class Meta: permissions = ( ("can_do_stuff", "Can do stuff"), ) After running syncdb you can assign that custom permission to some User or Group which will then have permission "can_do_stuff" for objects of that Model. -- You received this message because you are subscribed to the Google Groups "Django users" group. To post to this group, send email to django-us...@googlegroups.com. To unsubscribe from this group, send email to django-users+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/django-users?hl=en.