Python Django 1.6模型表单,属性错误
Django 1.6。模型形式问题。电子商务。 你好 我真的很感激你能帮我解决这个看似“哦,那么简单(你说的对)”的问题。Noob to Django,只是想为我正在制作的一个非常基本的电子商务网站获取一个客户应用程序。在这一阶段,计划是让客户能够填写他们的姓名和地址详细信息,以便交付。我在网上读了这么多的文章,在这里也读了这么多,方法略有不同,但没有一个是我想要的(看起来很简单:-)。我现在完全糊涂了 我的问题是: 1) 这个错误意味着什么?我如何克服它? 2) 我的代码显示模型表单是否正确? …还有奖金。。。 3) 有没有更好的(阅读简单的)方法来制作网站的名称和地址收集器 我有一个模型,从中我认为最好的计划是生成一个模型表单。然而,我现在得到的错误(一天中的第一百万个错误)是 models.py:Python Django 1.6模型表单,属性错误,python,django,forms,attributeerror,django-forms,Python,Django,Forms,Attributeerror,Django Forms,Django 1.6。模型形式问题。电子商务。 你好 我真的很感激你能帮我解决这个看似“哦,那么简单(你说的对)”的问题。Noob to Django,只是想为我正在制作的一个非常基本的电子商务网站获取一个客户应用程序。在这一阶段,计划是让客户能够填写他们的姓名和地址详细信息,以便交付。我在网上读了这么多的文章,在这里也读了这么多,方法略有不同,但没有一个是我想要的(看起来很简单:-)。我现在完全糊涂了 我的问题是: 1) 这个错误意味着什么?我如何克服它? 2) 我的代码显示模型表单是否正确?
from django.db import models
from django.forms import ModelForm
from django.utils.encoding import smart_unicode
first_name = models.CharField(max_length=120)
last_name = models.CharField(max_length=120)
email = models.EmailField()
address_1 = models.CharField(max_length=120)
address_2 = models.CharField(max_length=120, null=True, blank=True)
town = models.CharField(max_length=120)
~~~~~ Other Fields ~~~~~~
def __unicode__(self):
return smart_unicode(self.email)
class CustomerForm(ModelForm):
class Meta:
model = Customer
fields = ['first_name', 'last_name', 'email', ~~~~other fields~~~~~]
urls.py(主项目urls.py有url(r“^customers/”,include('customers.url'))指向此处)
views.py
from django.http import HttpResponse
from django.views.generic import View
from customers.models import Customer, CustomerForm
class CustomerForm(View):
class Meta:
model = Customer
template_name ='add_customer.html'
def get_success_url (self):
return HttpResponse('success.html')
模板add_customer.html
<h1>Add Your details please</h1>
<form action="" method="POST">
{% csrf_token %}
<ul>
{{ form.as_ul }}
</ul>
<input id="save_customer" type="submit" value="Save" />
</form>
<a href="{% url "/" %}">Back home</a>
请添加您的详细信息
{%csrf_令牌%}
{{form.as_ul}}
我有一个forms.py,但读到它不是模型表单(?)所必需的
非常感谢您的帮助
编辑_V_2:感谢Peter和Luis,他们分别在url.py中指出了一个尾随逗号,并且应该是CustomerForm.as_view(),而不是CustomerForm.as_view
页面现在加载!但令人遗憾的是,它是空白的。那么,那么近
编辑3:给定的服务器错误是405错误。根据这个()的说法,问题可能出在url.py地址的某个地方。如果您的
url.py
文件与图中所示完全相同,则可能是输入错误:
urlpatterns = patterns('',
url(r'^$', CustomerForm.as_view, name ='add_customer')),
尾随逗号将变量从模式
对象转换为模式
对象的1长度元组,例如:
>>> foo = 1,
>>> type(foo)
<type 'tuple'>
>foo=1,
>>>类型(foo)
您可能有一个较长的回溯时间:您能包括它的其余部分吗?嗨,大卫。谢谢你。Peter(如下)注意到URL.py文件中有一个尾随逗号,删除该逗号将错误消息更改为TypeError at/customers/as_view()正好需要1个参数(给定2个)。你还想追溯以前的错误吗?!?(很高兴分享…:-)没必要,听起来问题已经解决了。既然你的第一个问题(两个问题!)已经解决了,那么最好接受答案,然后试着自己解决新的(第三个)问题。如果你不能,你可以开始一个新问题。这是避免成为……的好方法。行。再次感谢,谢谢彼得!这将错误更改为:TypeError at/customers/as_view()正好接受1个参数(给定2个)请求方法:获取请求URL:Django版本:1.6.5异常类型:TypeError异常值:as_view()正好接受1个参数(给定2个)异常位置:/home/david/.virtualenvs/winestorefour/local/lib/python2.7/site-packages/django/core/handlers/base.py,在get_response中,第112行作为_视图。。。不应该像在模板视图中那样查看!路易斯!现在页面加载!它仍然是空的,因此有其他错误,但它现在加载。。谢谢谢谢谢谢
urlpatterns = patterns('',
url(r'^$', CustomerForm.as_view, name ='add_customer')),
>>> foo = 1,
>>> type(foo)
<type 'tuple'>