Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/18.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 我如何实现一个功能,以任何用户添加产品到我的网站(Django)?_Python_Python 3.x_Django_Django Models_Django Views - Fatal编程技术网

Python 我如何实现一个功能,以任何用户添加产品到我的网站(Django)?

Python 我如何实现一个功能,以任何用户添加产品到我的网站(Django)?,python,python-3.x,django,django-models,django-views,Python,Python 3.x,Django,Django Models,Django Views,我正在尝试按类别插入我的产品,产品属性为django。我有两个模型产品(工具)和类别。如果我登录了一个用户,我想在我的站点中添加我的产品 这是我的产品型号 from django.db import models from django.urls import reverse from model_utils.models import TimeStampedModel from utool import settings class AvailableManager(models.Manag

我正在尝试按类别插入我的产品,产品属性为django。我有两个模型产品(工具)和类别。如果我登录了一个用户,我想在我的站点中添加我的产品

这是我的产品型号

from django.db import models
from django.urls import reverse
from model_utils.models import TimeStampedModel
from utool import settings

class AvailableManager(models.Manager):
    def get_queryset(self):
        return super().get_queryset().filter(is_available=True)

class Category(TimeStampedModel):
    name = models.CharField(max_length=255, unique=True)
    slug = AutoSlugField(unique=True, always_update=False, populate_from="name")

    class Meta:
        ordering = ("name",)
        verbose_name = "category"
        verbose_name_plural = "categories"

    def __str__(self):
        return self.name

    def get_absolute_url(self):
        return reverse("pages:list_by_category", kwargs={"slug": self.slug})

class Tool(TimeStampedModel):
    category = models.ForeignKey(
        Category, related_name="tools", on_delete=models.CASCADE
    )
    name = models.CharField(max_length=255)
    slug = AutoSlugField(unique=True, always_update=False, populate_from="name")
    image = models.ImageField(upload_to="tools/%Y/%m/%d", blank=True)
    description = models.TextField(blank=True)
    price = models.DecimalField(max_digits=10, decimal_places=2)
    is_available = models.BooleanField(default=True)
#    user = models.ForeignKey(settings.AUTH_USER_MODEL, on_delete=models.CASCADE)


    objects = models.Manager()
    available = AvailableManager()

    class Meta:
        ordering = ("name",)

    def __str__(self):
        return self.name

    def get_absolute_url(self):
        return reverse("pages:detail", kwargs={"slug": self.slug})
这是我的产品视图

from django.views.generic import DetailView, ListView

from .models import Category, Tool

class ToolDetailView(DetailView):
    queryset = Tool.available.all()

class ToolListView(ListView):
    category = None
    paginate_by = 6

    def get_queryset(self):
        queryset = Tool.available.all()

        category_slug = self.kwargs.get("slug")
        if category_slug:
            self.category = get_object_or_404(Category, slug=category_slug)
            queryset = queryset.filter(category=self.category)

        return queryset

    def get_context_data(self, **kwargs):
        context = super().get_context_data(**kwargs)
        context["category"] = self.category
        context["categories"] = Category.objects.all()
        return context

要为登录用户添加包含所有atributs的产品,必须执行哪些操作?怎么办?

嗨,欢迎来到StackOverflow社区。请阅读这篇有用的文章,提出更好的问题。请分享你得到的错误,同时,请先用谷歌搜索你的问题。我想你的问题可以通过阅读
Django
文档来解决。