【问题标题】:How to resolve the django import from view function?如何解决 django 从视图功能导入?
【发布时间】:2016-07-23 18:24:02
【问题描述】:

在学习django的路上,我一直在关注这个book

我的 views.py 包含 -

def addPublisher(request):
    if request == 'POST':
        form = PublisherForm(request.POST)
        if form.is_valid:
            form.save()
            return HttpResponseRedirect('add_publisher/thanks/')
        else:
            form = PublisherForm()
        return render_to_response('book/addPublisher.html',{'form':form})

我的 urls.py 有以下代码-

from views import *

urlpatterns = [
    url(r'^add/$',addPublisher)
    ]

在将 addPublisher 函数导入到我的 urls.py 时,出现此错误。

name 'addPublisher' is not defined

【问题讨论】:

  • 在我看来,您的views.py 好像来自其中一个webapp,您应该说“from webapp.view import *” 简单地说,您的views.py 和urls.py 在同一个文件夹?
  • 像这样导入:从视图导入 addPublisher,而不是像这样:从视图导入 * - 这样您可能会收到更多信息性错误消息(例如,您的 addPublisher 可能在另一个文件夹中的另一个视图文件中等因为 django 项目通常有很多)
  • 请注意,Django Book 是在 11 年前发布的 Django 1.0 的基础上编写的。 1.0 和 1.8 之间有很多不兼容的地方,使用最新的资源可能会更容易学习。

标签: python django django-1.8


【解决方案1】:

您的 urls.py 文件可能与您的 views.py 不在同一个应用程序(文件夹)中。 您收到此错误消息,说 addPublisher 未定义,因为它实际上不是 therethere 我的意思是 urls.py 所在的应用程序.

如果上面的特定views.py 位于另一个应用程序中,请使用类似

from [name of app].views import *

无论如何,向我们展示您的项目布局将有助于我们给您一个更直接和具体的答案!谢谢。

【讨论】:

    猜你喜欢
    • 2013-05-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-01-20
    • 1970-01-01
    • 2015-02-13
    • 2015-04-18
    • 1970-01-01
    相关资源
    最近更新 更多