Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 全球名称';反向';没有定义_Python_Django_Paypal_Django Paypal - Fatal编程技术网

Python 全球名称';反向';没有定义

Python 全球名称';反向';没有定义,python,django,paypal,django-paypal,Python,Django,Paypal,Django Paypal,我正在使用django-paypal库在我的网站上使用paypal支付 接下来,我设置了paypal\u dict,并添加了表单 paypal_dict = { "business": settings.PAYPAL_RECEIVER_EMAIL, "amount": "10000000.00", "item_name": "name of the item", "invoice": "unique-invoice-id",

我正在使用
django-paypal
库在我的网站上使用paypal支付

接下来,我设置了
paypal\u dict
,并添加了表单

paypal_dict = {
        "business": settings.PAYPAL_RECEIVER_EMAIL,
        "amount": "10000000.00",
        "item_name": "name of the item",
        "invoice": "unique-invoice-id",
        "notify_url": "https://www.example.com" + reverse('paypal-ipn'),
        "return_url": "https://www.example.com/your-return-location/",
        "cancel_return": "https://www.example.com/your-cancel-location/",

    }

但是,我得到了一个错误
全局名称“reverse”没有定义
我使用的是Python 2.7.9,这是怎么回事?

reverse
不是Python中的内置函数。据推测,它是某些web框架中用于执行反向路由(从名称获取url路径)的函数。
notify\u url
必须是Paypal将向其发送通知的应用程序中的url。

Python中没有内置函数
reverse
。(有一个
倒过来的
,但我怀疑这不是你想要的。)

Django中有一个函数。但您只能在作为Django视图或类似视图加载的代码中获得Django内置项;如果以其他方式导入或运行此代码,它将不存在


因此,假设您在前面的说明中出错了,实际上并没有创建视图。(Django PayPal说明显然是为已经是有经验的Django开发人员的人编写的;如果你不理解Django的基本概念,你可能需要先完成。)

你需要导入函数
reverse

from django.core.urlresolvers import reverse
你可以阅读更多关于它的内容。它是针对django的,但看起来您正试图构建一个URL,所以它可能是您想要的

对于Django>2.0

from django.urls import reverse

paypal ipn的url可能是在django paypal的url中定义的。我想导入django的反面会解决这个问题

from django.core.urlresolvers import reverse
在Django2.0中:

from django.urls import reverse

我按照这个解决方案解决了“反向未定义”的问题,但我仍然有这个错误。。。我在我所有的URL文件中导入了反向,没有任何效果。。。然后我将reverse导入views.py文件,我的本地服务器开始工作。。。 这个消息的原始解决方案是正确的,但作者并没有提到在哪里发布反向导入,所以我想我可能会完成原始答案。。。如果我错了,我道歉,但它对我起了作用

--在models.py中使用此代码

from django.urls import reverse

def get_absolute_url(self):
    return reverse('url-name', kwargs={'pk':self.pk})

是否要反转字符串?老实说,我不确定它试图实现什么,这直接来自于示例,尝试使用它会导致错误。没有名为
reverse
的内置函数。你在什么地方定义过吗?或者期望进口一个?追溯到哪里了?攻击性代码?大概这应该是Django
reverse
函数,如果您的模块作为Django视图加载,您可以免费获得该函数,但如果您以其他方式导入或运行它,则不会获得该函数。就是这样!谢谢您的答案必须格式化才能理解。先解决问题,然后解决问题。谢谢