2017-05-07 59 views
1

我的程序使用Django似乎有TypeError問題。TypeError這個構造函數不帶參數

Views.py

from __future__ import unicode_literals 
from django.shortcuts import render 
from .models import Anteproyecto 
from .forms import formulario_anteproyecto 
from django.views.generic import CreateView 
from django.core.urlresolvers import reverse, reverse_lazy 
from django.contrib.messages.views import SuccessMessageMixin 

class CrearAnteproyecto(SuccessMessageMixin, CreateView): 
    model = Anteproyecto 
    form_class = formulario_anteproyecto 
    template_name = "crear_anteproyectos.html" 
    success_url = reverse_lazy('crear_anteproyecto') 
    success_message = "El anteproyecto ha sido creado" 

    def form_valid(self, form): 
     self.object = form.save() 

形式。 PY

from django import forms 
from .models import Anteproyecto 

class formulario_anteproyecto: 
    class Meta: 
     model = Anteproyecto 
     fields = ['titulo', 'resumen','estado','palabras_claves'] 

Models.py

from __future__ import unicode_literals 
from django.db import models 
from taggit.managers import TaggableManager 
from Actividades.models import Actividades 

ESTADOS = (('Activo', 'Activo'), ('Inactivo', 'Inactivo')) 

class Anteproyecto(models.Model): 
    titulo = models.CharField(max_length=100, verbose_name='Título') 
    estado = models.CharField(max_length=8, verbose_name="Estado", choices=ESTADOS, default='Activo') 
    resumen = models.CharField(max_length=500, verbose_name="Resumen") 
    claves = TaggableManager(verbose_name = "Palabras claves") 
    actividad = models.ForeignKey(Actividades, on_delete=models.CASCADE) 

    class Meta : 
     verbose_name = 'Anteproyecto' 
     verbose_name_plural = 'Anteproyectos' 

    def __str__(self): 
     return self.titulo 

導入該應用 「ACTIVIDADES」 被用作在模型的參考。使用Django-taggit來使用可以作爲標籤工作的字段,由於TypeError的原因,仍然沒有實現。 Html是將表單作爲段落打印的引導模板。在不同的視圖中有其他創建使用相同的代碼,但是這個給我的錯誤。

回答

1

您的formulario_anteproyecto不會繼承任何東西。它需要繼承forms.ModelForm

+0

我知道我會缺少一些小東西。謝謝。 – Shakalote