NoReverseMatch at / product / pussyes /
No se encontró el reverso para ‘basket_adding’. ‘basket_adding’ no es una función de vista o nombre de patrón válido.
- Frasco url_para generar una URL http en lugar de https
- Creación de URL con matraz y nombres de manejadores no únicos
- Rutas con barras al final en la pirámide
- Redireccionando una URL antigua a una nueva con el micro-marco de Flask
- Django enruta todas las URL no capturadas a urls.py incluido
Método de solicitud: GET URL de solicitud: http://127.0.0.1:8000/product/pussyes/ Versión de Django: 1.11 Tipo de excepción: NoReverseMatch Valor de excepción:
No se encontró el reverso para ‘basket_adding’. ‘basket_adding’ no es una función de vista o nombre de patrón válido.
error con ajax y jquery
url(r'^basket_adding/$', basket_adding, name="basket_adding"),
def product_view(request, slug=None): instance = get_object_or_404(Product, slug=slug) title = instance.name session_key = request.session.session_key if not session_key: request.session.cycle_key() forms = SubscribersForm(request.POST or None) if forms.is_valid(): instance = forms.save(commit=False) instance.save() return redirect("/") context = { "instance": instance, "title": title, "forms": forms, } return render(request, 'product.html', context)
def basket_adding(request): return_dict = {} session_key = request.session.session_key data = request.POST product_id = data.get('product_id') product_price = data.get('product_price') new_product = ProducInBasket.objects.get(session_key=session_key, product_id=product_id, product_price=product_price, quantity=quantity) return JsonResponse(return_dict)
class ProducInBasket(models.Model): session_key = models.CharField(max_length=128, default=None) order = models.ForeignKey(Order, blank=True, null=True, default=None) product = models.ForeignKey(Product, blank=True, null=True, default=None) count_of_goods = models.IntegerField(default=1) price_per_item = models.DecimalField(max_digits=10, decimal_places=2, default=0) total_price = models.DecimalField(max_digits=19, decimal_places=2, default=0) is_active = models.BooleanField(default=True) publish = models.DateField(auto_now=False, auto_now_add=True) timestamp = models.DateTimeField(auto_now=False, auto_now_add=True) def __str__(self): return "{0}:|:{1}".format(self.price_per_item,self.order) class Meta: ordering = ["-timestamp"] verbose_name = 'Product in Basket' verbose_name_plural = 'Products in Basket'
{% csrf_token %} 1 2 3 4 5 6 7 8 9 10
$(document).ready(function() { var newcount = 0; var allprice = 0; var btnn = $("#submit_btn"); var form = $(".formselect"); form.on('submit', function(e) { e.preventDefault(); var product_id = $(".info").data("product_id"); var product_name = $(".info").data("product_name"); var price = $(".info").data("product_price"); var quantity = $("#sel1").val(); var full_price_per_item = (price * quantity) newprice = allprice + (price * quantity ); allprice = newprice newcount++; $(".count").html(newcount); $("#price").html(newprice); //////////////////////////////////////////////// var data = {}; ///////////////////////////// data.product_id = product_id; data.product_name = product_name; data.product_price = price; data.product_quantity = quantity; data.product_newprice = newprice; data.product_newcount = newcount; data.product_allprice = allprice; ///////////////////////////// var csrf_token = $('.formselect [name="csrfmiddlewaretoken"]').val(); data["csrfmiddlewaretoken"] = csrf_token; var url = form.attr("action"); console.log(data) $.ajax({ url: url, type: 'POST', data: data, cache: true, success: function(data){ console.log("OK"); }, error: function(){ console.log("ERROR"); }, });
Estás usando el namespace
de namespace
para las URL de la aplicación de tu pedido. Tendrá que proporcionar su namespace
de namespace
a la etiqueta url.
{% url 'orders:basket_adding' %} # \____/ \___________/ # | | # namespace url name