21
Tôi có một mô hình đơn giản như sau:hình thức django có nhiều giá trị cho tham số từ khóa
RATING_CHOICES = zip(range(1, 6), range(1, 6))
class Rating(models.Model):
value = models.IntegerField(choices=RATING_CHOICES)
additional_note = models.TextField(null=True, blank=True)
from_user = models.ForeignKey(User, related_name='from_user')
to_user = models.ForeignKey(User, related_name='to_user')
shared_object = models.ForeignKey(ObjectDetail, null=True, blank=True)
dtobject = models.DateTimeField(auto_now_add=True)
Từ mô hình trên tôi tạo ra một hình thức mô hình, trong forms.py của tôi như sau:
class RatingForm(ModelForm):
class Meta:
model = Rating
exclude = ('from_user', 'dtobject',
'shared_object')
trong url của tôi, tôi thử những điều sau đây:
url(r'^rate/(?P<form_type>[\w]+)/(?P<oid>\d+)/(?P<oslug>[\w-]+)/$', 'rating_form', name='rating_form'),
Và trong quan điểm của tôi, sau đây:
def rating_form(form_type = None, oid = None, oslug=None):
print form_type
form = RatingForm(data=request.POST or None)
if request.POST and form.is_valid():
form.save()
return HttpResponseRedirect("/")
else:
return render(request, "share.html", {'form' : form })
Việc làm này mang lại cho tôi những lỗi sau:
rating_form() có nhiều giá trị cho tham số từ khoá 'form_type'
Chi tiết bổ sung:
Request Method: GET
Request URL: http://127.0.0.1:8000/rate/lending/3/random-stuff/
Django Version: 1.4.1
Exception Type: TypeError
Exception Value:
rating_form() got multiple values for keyword argument 'form_type'
Exception Location: /Library/Python/2.7/site-packages/django/contrib/auth/decorators.py in _wrapped_view, line 20
Python Executable: /usr/bin/python
am i làm gì sai rồi?
* giết tôi vì * này, đã trải qua 3 f'in giờ gặp khó khăn gì là sai! – whatf
Vì vậy, đơn giản, nhưng tôi chắc chắn điều này đã cứu ngày cho một nghìn người. – jball037
Tôi đang đến một lần nữa và một lần nữa để trả lời này. Cảm ơn bạn. – ioanb7