首页 > 解决方案 > Python Django 类别表单创建者的问题

问题描述

我正在努力在Django上制作一个类别表格,该类别也是文章模型的ForeignKey。前端工作正常,但表单没有将类别添加到数据库中,我无法在我的主要文章表单上使用它;这是我的代码,感谢您的回答: Model.Py

class Category(models.Model):
    name = models.CharField('Titolo', max_length = 250)
    slug = models.SlugField(max_length = 250, unique = True)
    desc = models.TextField('Descrizione', max_length=10000, blank=True,)

    def __str__(self):
        return self.name

# Articles
class Article(models.Model):
    title = models.CharField('Titolo', max_length=100)
    author = models.ForeignKey(User, on_delete=models.CASCADE, blank=False)
    category = models.ForeignKey (Category, on_delete=models.CASCADE, blank=False)
    desc = models.CharField('Descrizione', max_length=10000, blank=True, )
    text = RichTextUploadingField( blank=True, null=True)
    image = models.ImageField('Foto', blank=True, upload_to="img")
    data = models.DateTimeField('Data di pubblicazione', blank=True)
    slug = models.SlugField(max_length = 250, null = True, blank = True, unique=True)

    def get_absolute_url(self):
        return reverse("EditHome") # Da cambiare

    class Meta: # Order post by date
        ordering = ['-data',]
    def __str__(self):
        return self.title
    def save(self, *args, **kwargs): # Auto Slug Field
        self.slug = slugify(self.title)
        super(Article, self).save(*args, **kwargs)

视图.py

class CreateCategoryView(CreateView):
    model = Category
    form_class = CategoryForm
    template_name = 'blog/category/AddCategory.html'

网址.py

path('category/add-category/', CreateCategoryView.as_view(), name='AddCategory'), # Add Category

表格.py

class CategoryForm(forms.ModelForm):
    class Meta(object):
        model = Category
        fields = ('name', 'slug', 'desc')
        widgets =  {
            'name': forms.TextInput(attrs={'placeholder': 'Titolo'}),
            'desc': forms.TextInput(attrs={'placeholder': 'Riassunto'}),
}

html

{% extends 'blog/form_post/layout.html' %}
{% block title %} Add - Category{% endblock title %}
{% block content %}
{% if user.is_superuser %}
  <h1 class="title">Add Category</h1>

  <form method="POST" enctype="multipart/form-data">
    {% csrf_token %}
    <div class="form__group">
      <div class="bsz w-70-i w-15-s">
        {{ form.name }}
      </div>
    <div class="bsz w-70-i w-15-s">
        {{ form.desc }}
      </div>
      <div class="button_container text-center">
        <button class="text-center w-50 edit__button"> Go</button>
      </div>
    </div>
  </form>
  {% else %}
  <p>Non sei Admin</p>
  {% endif %}
{% endblock content %}

标签: pythondjangodjango-modelsdjango-formsdjango-views

解决方案


如何type="submit"在模板中添加按钮?


推荐阅读