关于 django 的的 urls 设置, from app import views 来省略应用名出错的原因是什么?

2015-03-18 20:43:10 +08:00
 WenJimmy

include() app的urls.py,然后在app/urls.py下省略应用名 直接view.index,然后出错了,为什么?

我和官方文档的例子应该是一样的,为什么会出错啊

以下是我的结构

这是报错信息

ImportError at /test/
No module named views

project下的urls可以正常使用from app import views
应用下的urls死活不成功

google找到了变相的办法
You prefixed your route names with a relative module name. Use an absolute name:

urlpatterns = patterns('',
url(r'^$', "moments_app.views.index", name='index'),
url(r'^$', "moments_app.views.choose_dataset", name='choose'),
url(r'^get_moments/', "moments_app.views.get_moments", name='get_moments'),
url(r'^learn/$', "moments_app.views.learn", name='learn'),
url(r'^(?P<moment_id>\d+)/$', "moments_app.views.detail", name='detail'),
)

or better still, use the first argument to specify the full module path:

urlpatterns = patterns('moments_app.views',
url(r'^$', "index", name='index'),
url(r'^$', "choose_dataset", name='choose'),
url(r'^get_moments/', "get_moments", name='get_moments'),
url(r'^ [...]

6303 次点击
所在节点    Python
3 条回复
wenbinwu
2015-03-18 20:45:11 +08:00
你的是字符串 'views.xxx'
例子里不是
WenJimmy
2015-03-18 20:48:29 +08:00
@wenbinwu 我的天!(我的眼睛瞎了)这问题我困扰了了半天,知乎问了,群里问了。醍醐灌顶啊~拜谢!我去试试
julyclyde
2015-03-18 21:22:45 +08:00
所以啊,建议大家读一下常用框架的初始化部分、创建urlschema的部分,会对动态加载和字符串处理有新的认识

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/177843

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX