Python 我如何实现一个功能,以任何用户添加产品到我的网站(Django)?
我正在尝试按类别插入我的产品,产品属性为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
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
文档来解决。