繁体   English   中英

登录用户步骤的权限

[英]Permission for logged in user steps

我正在创建一个带有食谱的应用程序。 现在我想让登录用户可以自己添加食谱。 我知道我必须为此用户创建一些权限,但我不知道如何。 我不需要任何代码,我只是想知道您是否可以给我一些必须要做的指导。 我是否必须向我的模型添加一些用户并创建 permission.py?

我的型号:

from django.db import models


class Ingredient(models.Model):

  ingredient_name = models.CharField(max_length=250)

  def __str__(self):
    return self.ingredient_name


class Recipe(models.Model):

  recipe_name = models.CharField(max_length=250)
  preparation = models.CharField(max_length=1000)
  ingredients = models.ManyToManyField(Ingredient)


  def __str__(self):
    return self.recipe_name

行政:

from django.contrib import admin
from .models import Recipe
from .models import Ingredient


admin.site.register(Recipe)
admin.site.register(Ingredient)

使用基于函数的视图,可以在创建配方时添加这些检查

def recipe_create(request):
    if not request.user.is_staff or not request.user.is_superuser:
        raise Http404
    if not request.user.is_authenticated:
        raise Http404

    form = RecipeForm(request.POST or None)
    if form.is_valid():
        instance = form.save(commit=False)
        instance.save()
        return HttpResponseRedirect(instance.get_absolute_url())
    context = {
        "form": form,
    }
    return render(request, "recipe_form.html", context)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM