2013-06-26 46 views
0

我已经使用Django几天了,我正在尝试创建一个小应用来学习整个东西。 我已经阅读了关于ModelForms的内容,我想在我的应用程序中使用它,但是我无法在模板中呈现它,并且找不到问题,所以我希望你们能帮我解决问题。 这里是我的代码:Django ModelForm没有出现在模板中

models.py

from django.db import models 

class Kiss(models.Model): 
    latitude = models.FloatField() 
    longitude = models.FloatField() 
    person1  = models.CharField(max_length = 255) 
    person2  = models.CharField(max_length = 255) 
    cdate  = models.DateTimeField(auto_now_add=True) 

    def __unicode__(self): 
     return self.person1 

views.py

from django.views.generic.list import ListView 
from project.models import Kiss 
from project.forms import KissForm 
from django.http import HttpResponseRedirect 

class KissListView(ListView): 
    template_name = 'project/home.html' 
    model = Kiss 
    form = KissForm 

urls.py(仅适用于相关的部分)

urlpatterns += patterns('', 
     url(r'^$', KissListView.as_view(), name='home'), 
    ) 

forms.py

from django import forms 
from project.models import Kiss 

class KissForm(forms.ModelForm): 
    class Meta: 
     model = Kiss 

和模板

<form action="" method="POST"> 
      {% csrf_token %} 
      {{form.as_p}} 
      <button>Send</button> 
     </form> 

在此先感谢您的帮助。 Ĵ

回答

1
class KissListView(ListView): 
... 

您正在使用ListView不需要form,不会给你form在模板上下文。

您可能想用CreateView代替。