Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/url/2.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
在django中使用django.core.urlResolver.reverse时出现弃用警告_Django_Url_Deprecated - Fatal编程技术网

在django中使用django.core.urlResolver.reverse时出现弃用警告

在django中使用django.core.urlResolver.reverse时出现弃用警告,django,url,deprecated,Django,Url,Deprecated,我在基于类的视图中使用以下代码 from django.core.urlresolvers import reverse_lazy url = reverse('url_name') url.py如下所示 from django.conf.urls import patterns, url from myapp import views urlpatterns = patterns('', url(r'^$', views.TestView.as_view(), name='ur

我在基于类的视图中使用以下代码

from django.core.urlresolvers import reverse_lazy

url = reverse('url_name')
url.py
如下所示

from django.conf.urls import patterns, url

from myapp import views

urlpatterns = patterns('',
    url(r'^$', views.TestView.as_view(), name='url_name'),
)
这样做时,我得到了一个弃用警告:

DeprecationWarning: Function-based generic views have been deprecated; use class-based views instead.
  DeprecationWarning
警告出现在'django/views/generic/simple.py:8'上`

下面是一个堆栈,以查看什么形状:

-> return urlresolvers.reverse('url_name')
  /home/vagrant/.virtualenvs/wfp/lib/python2.5/site-packages/django/core/urlresolvers.py(476)reverse()
-> return iri_to_uri(resolver._reverse_with_prefix(view, prefix, *args, **kwargs))
  /home/vagrant/.virtualenvs/wfp/lib/python2.5/site-packages/django/core/urlresolvers.py(363)_reverse_with_prefix()
-> possibilities = self.reverse_dict.getlist(lookup_view)
  /home/vagrant/.virtualenvs/wfp/lib/python2.5/site-packages/django/core/urlresolvers.py(276)reverse_dict()
-> self._populate()
  /home/vagrant/.virtualenvs/wfp/lib/python2.5/site-packages/django/core/urlresolvers.py(265)_populate()
-> lookups.appendlist(pattern.callback, (bits, p_pattern, pattern.default_args))
  /home/vagrant/.virtualenvs/wfp/lib/python2.5/site-packages/django/core/urlresolvers.py(216)callback()
-> self._callback = get_callable(self._callback_str)
  /home/vagrant/.virtualenvs/wfp/lib/python2.5/site-packages/django/utils/functional.py(27)wrapper()
-> result = func(*args)
  /home/vagrant/.virtualenvs/wfp/lib/python2.5/site-packages/django/core/urlresolvers.py(92)get_callable()
-> lookup_view = getattr(import_module(mod_name), func_name)
  /home/vagrant/.virtualenvs/wfp/lib/python2.5/site-packages/django/utils/importlib.py(35)import_module()
-> __import__(name)
> /home/vagrant/.virtualenvs/wfp/lib/python2.5/site-packages/django/views/generic/simple.py(6)<module>()
-> import warnings
->返回urlresolvers.reverse('url\u name')
/home/vagrant/.virtualenvs/wfp/lib/python2.5/site packages/django/core/urlresolvers.py(476)reverse()
->将iri_返回到_uri(解析器。_使用_前缀反向_(视图,前缀,*args,**kwargs))
/home/vagrant/.virtualenvs/wfp/lib/python2.5/site packages/django/core/urlresolvers.py(363)\u reverse\u带前缀()
->可能性=self.reverse\u dict.getlist(查找视图)
/home/vagrant/.virtualenvs/wfp/lib/python2.5/site packages/django/core/urlresolvers.py(276)reverse_dict()
->自我.()
/home/vagrant/.virtualenvs/wfp/lib/python2.5/site packages/django/core/urlresolvers.py(265)(u populate()
->appendlist(pattern.callback,(bits,p_pattern,pattern.default_args))
/home/vagrant/.virtualenvs/wfp/lib/python2.5/site-packages/django/core/urlresolvers.py(216)callback()
->self.\u callback=get\u callable(self.\u callback\u str)
/home/vagrant/.virtualenvs/wfp/lib/python2.5/site-packages/django/utils/functional.py(27)wrapper()
->结果=func(*args)
/home/vagrant/.virtualenvs/wfp/lib/python2.5/site packages/django/core/urlsolvers.py(92)get_callable()
->lookup\u view=getattr(导入模块(模块名称)、函数名称)
/home/vagrant/.virtualenvs/wfp/lib/python2.5/site packages/django/utils/importlib.py(35)导入_模块()
->\uuuu导入\uuuuu(名称)
>/home/vagrant/.virtualenvs/wfp/lib/python2.5/site packages/django/views/generic/simple.py(6)()
->进口警告

未来的做法是什么?我目前正在使用Django 1.4。

这只是一个Django功能的自动警告,如果您计划迁移到一个较新的Django版本,而该版本已不再支持此功能,则不应使用该功能


您可以查看弃用计划

这只是一个猜测,但也许我做得对,我可以忽略此警告,因为我正在使用的函数不依赖于基于函数的视图,而只是在urlresolvers模块的扩展导入范围内。

反向url的关联
url
行在
url.py
中是什么样子的?谢谢,但我很清楚。。。问题是怎么做呢?你没有使用你展示的片段中不推荐使用的任何东西。很好,谢谢,这也是我发现的。。。我只是想知道为什么我会得到警告。看起来内核本身仍然使用一些不推荐的代码,可能是为了向后兼容。我想,我们将使用基于函数的视图删除这些内容。