名称“设置”未定义

Posted

技术标签:

【中文标题】名称“设置”未定义【英文标题】:name 'settings' is not defined 【发布时间】:2013-10-08 13:17:15 【问题描述】:

我在这些行中添加 url,用于将媒体和图像输出到模板。但是我遇到了这样的错误。 我该如何解决?

urlpatterns =+ patterns('',
    url(r'^static/(?P<path>.*)$', 'django.views.static.serve', 
        'document_root': settings.STATIC_ROOT,
    ),
    url(r'^media/(?P<path>.*)$', 'django.views.static.serve', 
        'document_root': settings.MEDIA_ROOT,
    ),

【问题讨论】:

这不是错误。只是一个错误。 看起来你会从介绍性的 Python 教程中受益。您在此页面上描述的所有问题都是基本的 Python。 【参考方案1】:

添加

from django.conf import settings

到文件的顶部。并更改urlpatterns变量赋值中使用的运算符。

urlpatterns =+ patterns('',

应该是

urlpatterns += patterns('',

python 中没有=+ 运算符。

编辑:

从评论中发布的urlpattern,我看到没有其他urlpatternurlpattern 应该如下没有+ 符号。

urlpatterns = patterns('',
    url(r'^static/(?P<path>.*)$', 'django.views.static.serve',  'document_root': settings.STATIC_ROOT, ),
    url(r'^media/(?P<path>.*)$', 'django.views.static.serve',  'document_root': settings.MEDIA_ROOT, ),
)

【讨论】:

name 'urlpatterns' 未定义 发布您的完整urls.py 内容。 from django.conf.urls import patterns, include, url from django.contrib import admin from social_auth.views import complete from django.conf import settings admin.autodiscover() urlpatterns += patterns('' , url(r'^static/(?P.*)$', 'django.views.static.serve', 'document_root': settings.STATIC_ROOT, ), url(r'^media/( ?P.*)$', 'django.views.static.serve', 'document_root': settings.MEDIA_ROOT, ), url(r'^admin/', include(admin.site.urls) ),) 在您的问题中发布此内容。不在 cmets 中。 你不使用其他urlpatterns吗?【参考方案2】:

添加

from django.conf import settings

到文件的顶部。

【讨论】:

谢谢!它有帮助!但是现在出现了错误:bad operand type for unary +: 'list' 如果我改变了操作数的位置,那么得到 name 'urlpatterns' is not defined跨度> =+ 应该是+=,并用完整的urls.py 更新问题。 这导致:name 'urlpatterns' is not defined【参考方案3】:

对于任何在这种情况下苦苦挣扎的人,首先要确保你有

from django.conf import settings

在您的urls.py 文件中

【讨论】:

以上是关于名称“设置”未定义的主要内容,如果未能解决你的问题,请参考以下文章

ECS任务定义App Mesh虚拟节点名称未通过控制台设置

未定义全局名称“reverse”

NameError:未定义全局名称“记录器”

NameError:名称“static_url”未定义

js一直提示函数未定义

VS 2008 数据库项目 - 在部署“数据库名称”期间未定义