2017-01-22 90 views
0

我试图添加到我的数据库(这是一个学院的列表),与表格,但它不工作。任何想法为什么?它把我的成功页面,但实际上没有将它添加到数据库Django添加到数据库与表格

型号:

class College(models.Model): 
    college_name = models.CharField(max_length=120) 
    logo = models.ImageField(upload_to="logos", default="logos/default.png") 
    def __str__(self): 
     return self.college_name 
    @classmethod 
    def create(cls, college_name): 
     college = cls(college_name = college_name) 
     return college 

查看:

def add(request): 
    return render(request, 'app/add.html') 

def add_college(request): 
    school = request.POST.get('collegename_input', '') 
    College.create(school) 
    return HttpResponseRedirect('add_success') 

def add_success(request): 
    return render(request, 'app/add_success.html') 

add.html:

<h2> Add your school </h2> 
    <form action="{% url 'app:addcollege' %}" method="post"> 
     {% csrf_token %} 
     <label for="collegename_input">School: </label> 
     <input type="text" id="collegename_input" name="collegename_input" /> 
     <input type="submit" value="Add School" /> 
    </form> 

上午我错过了什么?

回答

0

您处理POST请求的视图看起来不正确,因为它没有正确创建/保存模型。为了节省College,您应该执行以下操作:

from django.shortcuts import redirect 

def add_college(request): 
    school = request.POST.get('collegename_input', '') 
    # College.create(school) 
    college = College(school_name=school) 
    college.save() 
    return redirect('add_success')