【问题标题】:ViewDoesNotExist when view is there on Django 1.9.1Django 1.9.1 上有视图时的 ViewDoesNotExist
【发布时间】:2016-01-13 19:26:18
【问题描述】:

你好,我是 python 的初学者,甚至是 django 框架的初学者。

我开始阅读 djangobook.com 并在 pythonanywhere 上设置了一个服务器。我的第一个视图类似于hello_world,它起作用了。在下一步中,我创建了另一个显示当前日期和时间的视图,但我将这两个视图拆分为不同的文件,名为 hello_world.pycurrent_datetime.py,它们位于名为 my_views 的包中。但是当我上传文件时,他们都抛出了ViewDoesNotExist 异常,2 小时后我找不到任何解决方案。

这是我的 django 项目,你可以看到里面的文件 -> https://github.com/SuperSane95/supersane_djangoapp

我真的不知道是什么导致了问题,我需要你们的帮助,各位。

【问题讨论】:

  • djangobook.com 大约落后 7 年/8 个版本,你不应该使用它。

标签: python django python-3.x pythonanywhere


【解决方案1】:

问题是您没有将 url 路由指向方法,只是它们所在的库:

让你的 url 模式像这样:

urlpatterns = patterns('',
                   url(r'^hello/$', hello_world.hello),
                   url(r'^time/$', current_datetime.current_datetime),
                   )

也就是说这确实已经过时并且可能无法在 Django 上正常工作,我建议使用 most recent Django tutorial 并重新开始。

【讨论】:

  • 谢谢伙计,这解决了我的问题。我现在有其他问题,因为我来自 java 和 c# 世界,如果我写 hello_world.hello 或 hello_world.hello(),在这种情况下有什么区别,因为在 java 和 C# 上,调用方法时必须使用括号。
  • 这里太深入了,但基本上你是在将 Django 一个 reference 作为 urlpatterns 的一部分传递给该方法,然后 django 将通过添加来调用它如果需要,括号。
  • 谢谢我明白了主要的想法,我会在网络中研究更多:)
猜你喜欢
  • 2019-05-14
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-06-20
  • 2013-04-13
  • 2011-07-02
  • 1970-01-01
相关资源
最近更新 更多