我是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
聽起來像你在課堂外聲明你的'save_cusdetails'。檢查你的縮進。 – soon
這裏只有indendation是不正確的。在我的代碼中,我只在類裏面寫了def – ijarlax
@ijarlax:請修復你的代碼片段,使它像你的真實代碼一樣完美,否則我們無法提供幫助。 –