2
私は本当にDjangoのURLに引数とkeword引数をディスパッチする方法を理解するのは難しい時があります。Djangoは引数を取っていませんURLを
私は、一般的なベース・ビュー使用してビューをしました:私は"localhost:8000/cart/?item=4&qty=200"
のようなURLにaurgumentsで作業することができた以上の観点から
をして、それは、端末の数量でアイテムを印刷しますケーススタディは、次のとおり。
できるだけ早く私のようなコードの変更作られました:それは私にエラーを示し"localhost:8000/cart/?item=4&qty=200"
のように引数を渡すのと同じ方法で
from carts.models import Cart, CartItem
from products.models import Variation
class CartView(View):
def get(self, request, *args, **kwargs):
item_id = request.GET.get('item')
if item_id:
item_instance = get_object_or_404(Variation, id=item_id)
qty = request.GET.get('qty')
cart = Cart.objects.all()[0]
cart_item = CartItem.objects.get_or_create(cart=cart, item=item_instance)[0]
cart_item.quantity = qty
cart_item.save()
print cart_item
return HttpResponseRedirect('/')
を:
404 Page Not Found No Variation matches the given query.
urls.py
urlpatterns = [
url(r'^home/$', 'newsletter.views.home', name='home'),
url(r'^contact/$', 'newsletter.views.contact', name='contact'),
url(r'^about/$', 'project.views.about', name='about'),
url(r'^admin/', include(admin.site.urls)),
url(r'^accounts/', include('registration.backends.default.urls')),
url(r'^cart/$', CartView.as_view(), name='cart'),
url(r'^', include('products.urls')),
url(r'^categories/', include('products.urls_categories')),
[Djangoの{%url%}テンプレートタグを使用してクエリパラメータを渡すことはできますか?](http://stackoverflow.com/questions/4591525/is-it-possible-to-pass-query- parameters-via-djangos-url-template-tag) – Sayse
ID 4 –
のVariationオブジェクトがないので、バリエーションオブジェクトを持つ偶数のプロダクトで引数を渡しました。同じ問題。次に、デフォルトのバリエーションを持つすべての製品をカートでよりうまく処理できるようにpost_save信号を作成しました。今、私はバリエーションにカートを実装するだけです。 –