Найти - Пользователи
Полная версия: () takes exactly 2 arguments (1 given)
Начало » Django » () takes exactly 2 arguments (1 given)
1
SergeyMiracle
Здрасте
Подскажите, что я делаю не так получая такую ошибку productsfull() takes exactly 2 arguments (1 given)
Вьюха:
def productsfull(request, product_id):
	products = Product.objects.get(pk=product_id)
	photos = products.album.photos.all()
	c = RequestContext(request, {
		'products': products,
		'photos': photos,
		
		})
URL -
url(r'^products/[^\s]+/$', productsfull),
JOHN_16
Ошибка видимо в регулярке - вьюха принимает помимо request еще аргумент, который должен быть результатом выборки регулярки.
Помимо этого у вас сама регулярка неверна. Я пошаманю и предположу что URL у вас имеется вида “/products/15/”, тогда фрагмент регулярки “/+/” не верен. Если предполагать что у вас product_id это цифровые значения, то должно быть r'/products/(\d+)/$'
Если не прав - поправьте
SergeyMiracle
Да тут и крылась моя ошибка, спасибо, у меня похоже уже соображалка отключилась
Ну идея урла с цифрами мне не понравилась переписал
def productsfull(request, slug):
	products = Product.objects.get(slug=slug)
и pattern на
url(r'^products/(?P<slug>[^\s]+)/$', productsfull),
и все заработало
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB