【发布时间】:2015-12-31 05:22:03
【问题描述】:
我有一个用户可以创建类别页面的应用。我想将其修改为用户只能创建一个。该页面将显示在个人资料页面中。我将 userena 用于用户配置文件系统。 事情是我不确定如何限制用户只创建一个类别页面。以及如何保存该页面,以便创建者可以访问(如编辑/删除)
这是我的views.py:
@login_required
def add_category(request):
if request.method == 'POST':
form = CategoryForm(request.POST)
if form.is_valid():
form.save(commit=True)
return index(request)
else:
form = CategoryForm()
return render(request, 'main/add_category.html', {'form':form})
我可以创建编辑/删除视图,只是不确定如何让用户只创建一个页面。
模型.py
class Category(models.Model):
name = models.CharField(max_length=128, unique=True)
slug = models.CharField(max_length=100, unique=True)
def save(self, *args, **kwargs):
self.slug = uuslug(self.name,instance=self, max_length=100)
super(Category, self).save(*args, **kwargs)
def __unicode__(self):
return self.name
def get_absolute_url(self):
return 'category/%s' % (self.slug)
forms.py
class CategoryForm(forms.ModelForm):
name = forms.CharField(max_length=128, help_text="plz enter")
likes = forms.IntegerField(widget=forms.HiddenInput(), initial=0)
slug = forms.CharField(widget=forms.HiddenInput, required=False)
class Meta:
model = Category
fields =('name',)
编辑:
{{post.category}}
【问题讨论】:
-
我是你的
Category模型,你应该有一个author字段。在您的add_category视图中,检查Category.objects.filter(author=request.user).exists() -
哦是啊我怎么没想到,让我试试
-
@AndreaCorbellini 不确定作者字段?嗯.....让我上传我的models.py
-
您必须添加该字段(用户的外键)。如果您向我展示您的 CategoryForm,我可以为您提供分步解决方案。
-
@AndreaCorbellini 我只是在谷歌上搜索作者字段,我编辑了 forms.py。谢谢安德里亚,