当前位置: 首页 > 面试题库 >

找不到/ product / pussyes /反向的NoReverseMatch,指向'basket_adding'。'basket_adding'不是有效的视图函数或模式名称

令狐良骏
2023-03-14
问题内容

NoReverseMatch位于/ product / pussyes /

找不到’basket_adding’的相反内容。’basket_adding’不是有效的视图函数或模式名称。

请求方法:GET请求URL:http :
//127.0.0.1 :8000/product/pussyes/
Django版本:1.11异常类型:NoReverseMatch异常值:

找不到’basket_adding’的相反内容。’basket_adding’不是有效的视图函数或模式名称。

ajax和jquery错误

url(r'^basket_adding/$', basket_adding, name="basket_adding"),

这是我的产品的views.py

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)

这是我的订单views.py

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'

这是我的模板,位于URL basket_adding

<form class="form-group formselect" action="{% url 'basket_adding' %}"> {% csrf_token %}
                    <label>Quantity</label>
                      <select class="form-control litlwidth" id="sel1" >
                        <option value="1">1</option>
                        <option value="2">2</option>
                        <option value="3">3</option>
                        <option value="4">4</option>
                        <option value="5">5</option>
                        <option value="6">6</option>
                        <option value="7">7</option>
                        <option value="8">8</option>
                        <option value="9">9</option>
                        <option value="10">10</option>
                      </select>
                    <br>
                    <button id="submit_btn" class="cartadd morewidth"  title="Add to Cart" type="submit" >Add to Cart</button>
                    <p class="info hidden" data-product_id="{{ instance.id }}" data-product_name="{{ instance.name }}" data-product_price="{{ instance.price }}"></p>

                </form>

这是带有ajax的jQuery代码

$(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");

            },
        });

问题答案:

您使用的namespace是订单应用的网址。您必须将其提供namespace给url标记。

{% url 'orders:basket_adding' %}
#       \____/ \___________/
#         |          |
#     namespace   url name


 类似资料:
  • 这些是我在注册和登录页面时的文件,请告诉我哪里出错了。 网址。django的py/home“”。从django导入管理员。URL导入路径,包括从。导入视图

  • 我完成了我的iOS应用程序,但我只需要将一个视图设置为横向模式,其余的视图只能在竖屏中看到。 我使用的是Xcode 5.1,我通过从右侧面板中插入情节提要视图控制器创建了所有视图,因此如果您要告诉我在什么地方编写代码,请确切告诉我需要在哪里编写。 我在这里读到了一个解决方案UINavigationController强制旋转,但我不知道该在哪里编写代码。是否需要手动创建一个UIViewContro

  • 一个函数总是占用一段连续的内存区域,函数名在表达式中有时也会被转换为该函数所在内存区域的首地址,这和数组名非常类似。我们可以把函数的这个首地址(或称入口地址)赋予一个 指针变量,使指针变量指向函数所在的内存区域,然后通过指针变量就可以找到并调用该函数。这种指针就是 函数指针。 函数指针的定义形式为: returnType (*pointerName)(param list); returnType

  • 问题内容: 有没有机会从以字符串表示的函数名称中获取指向函数的指针?例如,这需要将某些函数作为参数发送给另一个函数。您知道某种元编程。 问题答案: Go函数是一等值。您无需恢复动态语言中的技巧。 操场 输出: 如果函数的选择取决于某些仅在运行时已知的值,则可以使用映射:

  • 我必须向客户提供上传他自己的JSON模式的可能性。 是否有方法验证用户提供的JSON模式是有效的JSON模式,而不仅仅是数据? 我在这个库中使用Javahttps://github.com/networknt/json-schema-validator 更新: 我有以下模式: 我需要知道这是否是一个有效的JSON模式,而不是JSON数据。此处提供了一个JSON数据示例:

  • 多谢了。 正如一些人所指出的,maven版本中java home中的JRE引用对我来说是一个红鲱鱼兔子洞。经过进一步的测试,我有了一些新的有趣的信息。我直接从命令行运行maven命令。我用eclipse从svn存储库中签出代码,并尝试在该代码上运行maven包,但.war没有正确构建。但是,如果我在eclipse中将一个团队导出到一个新目录,并在该目录上运行maven包,那么它将构建.war fi