Tuesday, October 1, 2013

Re: Django-cart. How to run method add_to_cart?

Ricardo,

I think the example on the django-cart site are somehow incorrect: since you are going to change the database you shall use a POST view and not a GET.

However, putting apart HTTP verbs for a moment, let's look at how you call views from URLs. If you write something like the following in your views.py (or whatever file you mapped in your urls.py)


from django.conf.urls import patterns, url

from django.shortcuts import render_to_response

def my_view(request, product_id, quantity):
    [do something with product_id and quantity]
    return render_to_response('template.html')

urlpatterns = patterns('',
                       url(r'^(?P<product_id>\d+)/(?P<quantity>\d+)/$',
                           my_view
                       )


you can browse to http://yoursite/path/1234/56 and have the Python function my_view(product_id=1234, quantity=56) called.

Try and implement something like the above code and see if it works.

As for the django_cart: when you modify the DB always use POST views and not GET, then you are right, you have to return a template rendering in your add_to_cart() view.

Let me know if it comes to life =)

Cheers,
Leo



Leonardo Giordani
Author of The Digital Cat
My profile on About.me - My GitHub page - My Coderwall profile


2013/10/1 Ricardo Kamada <ricardokamada@gmail.com>
Leonardo Hi thanks for the reply but I still can not understand.
I really need to pass the id and quantity parameters in the url? After all I'm recording the items in the correct session?
I saw that the method has no return add_to_cart, as well as other methods remove_from_cart.
In my template I am calling the method like this:
<div class="botao fr"> <a href="{% url "add_to_cart" detalhe_produto.id 1%}"> Buy </ a> </ div>

and URLs:
url (r '^ products / buy / $', 'cart.views.add_to_cart', name = 'add_to_cart')

You say that to pass arguments id and quantity that url?

Ricardo


2013/10/1 Leonardo Giordani <giordani.leonardo@gmail.com>
You have to implement an URL dispatcher that links an URL to your view.
Read here and feel free to ask again if something is still not clear.

Leonardo Giordani
Author of The Digital Cat
My profile on About.me - My GitHub page - My Coderwall profile


2013/10/1 Ricardo <ricardokamada@gmail.com>
Hi, I have this same problem.
I'm looking for answer everywhere.
enemybass could implement?
If someone can help me with this

[] s

Em quarta-feira, 26 de setembro de 2012 05h33min24s UTC-3, enemybass escreveu:
https://github.com/bmentges/django-cart

I'm a total newbie to Django. How to run method add_to_cart? In template I would have button "add to cart".

Thanks.

  def add_to_cart(request, product_id, quantity):      product = Product.objects.get(id=product_id)      cart = Cart(request)      cart.add(product, product.unit_price, quantity)
  My model look something like this:
  
class Product(models.Model):      name = models.CharField(max_length=50)      slug = models.SlugField()      unit_price = models.DecimalField(max_digits=5, decimal_places=2)      category = models.ManyToManyField(Category)        class Meta:          verbose_name = "Product"          verbose_name_plural = "Products"        def __unicode__(self):          return self.name

--
You received this message because you are subscribed to the Google Groups "Django users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to django-users+unsubscribe@googlegroups.com.

--
You received this message because you are subscribed to a topic in the Google Groups "Django users" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/django-users/M8zey6g_R6s/unsubscribe.
To unsubscribe from this group and all its topics, send an email to django-users+unsubscribe@googlegroups.com.

To post to this group, send email to django-users@googlegroups.com.
Visit this group at http://groups.google.com/group/django-users.
To view this discussion on the web visit https://groups.google.com/d/msgid/django-users/CAEhE%2BOkVVp1o5AvtHeDi6U5zsuTKr9swGiJshCh8XwcRfSE_tQ%40mail.gmail.com.

For more options, visit https://groups.google.com/groups/opt_out.

--
You received this message because you are subscribed to the Google Groups "Django users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to django-users+unsubscribe@googlegroups.com.
To post to this group, send email to django-users@googlegroups.com.
Visit this group at http://groups.google.com/group/django-users.
To view this discussion on the web visit https://groups.google.com/d/msgid/django-users/CAJTdXTFX650QKMe66rz4DRPeEe%3D6iDV2Re894rsuhf6Li82ixg%40mail.gmail.com.

For more options, visit https://groups.google.com/groups/opt_out.

--
You received this message because you are subscribed to the Google Groups "Django users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to django-users+unsubscribe@googlegroups.com.
To post to this group, send email to django-users@googlegroups.com.
Visit this group at http://groups.google.com/group/django-users.
To view this discussion on the web visit https://groups.google.com/d/msgid/django-users/CAEhE%2BOkmSBGSbO86OH%2BPc17W2r5PeLOEZdaaWspk8KNMt765mQ%40mail.gmail.com.
For more options, visit https://groups.google.com/groups/opt_out.

No comments:

Post a Comment