2013-06-20 17 views
0

我是django的新手。我給了我的代碼下面。任何人都可以幫助我嗎?我找不到錯誤在哪裏。提前致謝。'addnewcus_form'對象在django中沒有屬性'save_cusdetails'錯誤

addnewcus.html

<form id="addnewcus_form" method="POST" action=""> {% csrf_token %} 
    <ul> 
     <li id="li_1"> 
      <label class="description" for="id_bname">Customer Name </label> 
      <div> {{ form.cname }} </div> 
      </li> 
      <li id="li_2"> 
       <label class="description" for="id_bauthor">Customer Address </label> 
       <div> {{ form.caddress }} </div> 
      </li>     
     </ul> 
</form> 

models.py

from django.db import models 

class cusdetails(models.Model): 
    cid=models.IntegerField() 
    cname=models.CharField(max_length=100) 
    caddress=models.CharField(max_length=100) 
    active=models.BooleanField(default=True) 

urls.py

urlpatterns = patterns('',url(r'^addnewcus/$', 'cusapp.views.addnewcus_view', name='url_addnewcus'),) 

forms.py

import random 

def get_rand_no(): 
    return random.randint(1234567, 9999999) 
class addnewcus_form(ModelForm): 
    cname = forms.CharField(widget=forms.TextInput()) 
    caddress = forms.CharField(widget=forms.TextInput()) 

    class Meta: 
     model = bookdetails 
     exclude = ('cid','active') 


    def save_cusdetails(self): 
     cusdetail_data = self.cleaned_data 
     randomnumber = get_rand_no() 
     cusdetails_createobj = cusdetails.objects.create(cid=randomnumber, cname=cusdetail_data['cname'], caddress=cusdetail_data['caddress'],active=True) 
     return cusdetails_createobj 

views.py

def addnewcus_view(request, template_name="addnewcus.html"): 
    if request.method=="POST": 
      cusdetail_data=addnewcus_form(data=request.POST) 
      if cusdetail_data.is_valid(): 
       addcusdetail_obj = cusdetail_data.save_cusdetails() 
       return HttpResponseRedirect(reverse("url_index")) 
      else: 
       return render(request, template_name,{'form':cusdetail_data}) 
    elif request.method=="GET": 
      cusdetail_data=addnewcus_form() 
      return render(request, template_name,{'form':bookdetail_data}) 

當我擊球的URL,它顯示了以下錯誤。
「addnewcus_form」對象有沒有屬性「save_cusdetails」在Django

+0

聽起來像你在課堂外聲明你的'save_cusdetails'。檢查你的縮進。 – soon

+0

這裏只有indendation是不正確的。在我的代碼中,我只在類裏面寫了def – ijarlax

+0

@ijarlax:請修復你的代碼片段,使它像你的真實代碼一樣完美,否則我們無法提供幫助。 –

回答

0

錯誤有錯誤的形式。 python是對空白敏感的編程語言。 當你寫:

class A(object): 
    def foo(): 
     pass 

def boo(): 
pass 

然後boo()將不在類作用域。它將在模塊範圍內。

+0

感謝您的回覆Zagorulkin德米特里。這裏只有我的縮進不是按照正確的順序。對不起。在我的代碼中,縮進是正確的。 – ijarlax

+0

@ijarlax然後在這裏把你的實際代碼從項目中。 –

+0

我編輯了上面的代碼,作爲我的原始項目代碼。 – ijarlax

相關問題