得到它了!!问题是有些进口是的
myproject.myapp.views,有些只是进口的
myapp.views。这使Python模块系统非常混乱,以至于它不再将功能检测为同一对象。这是因为您的主线
settings.py可能像这样一行:
ROOT_URLCONF = `myproject.urls`
要解决此问题,请尝试在shell会话中使用完全导入:
>>> from django.core.urlresolvers import reverse>>> from myproject.myapp import views>>> reverse(views.myview)'/myview/'
这是调试会话的日志,适合任何感兴趣的未来读者:
>>> from django.core import urlresolvers>>> from myapp import myview>>> urlresolvers.get_resolver (None).reverse_dict{None: ([(u'myview/', [])], 'myview/$'), <function myview at 0x845d17c>: ([(u'myview/', [])], 'myview/$')}>>> v1 = urlresolvers.get_resolver (None).reverse_dict.items ()[1][0]>>> reverse(v1)'/myview/'>>> v1 is myviewFalse>>> v1.__module__'testproject.myapp.views'>>> myview.__module__'myapp.views'
如果将URL匹配更改为,会发生什么
r'^myview/$'?
您是否尝试过使用视图名称?像
reverse ('myapp.myview')什么?
是
urls.py根URLconf,还是在
myapp应用程序中?需要从根到视图的完整路径才能解决它。如果是
myproject/myapp/urls.py,则
myproject/urls.py您需要这样的代码:
from django.conf.urls.defaults import patternsurlpatterns = patterns ('', (r'^/', 'myapp.urls'),)
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)