django 属性错误:“settings”对象没有属性

zour9fqk  于 2023-03-13  发布在  Go
关注(0)|答案(3)|浏览(204)

检查了django的文档和这篇文章Django MEDIA_URL and MEDIA_ROOT,但是,我仍然有问题,起初这是一个SQlight问题,所以,我从Django 2更新到最新的Django,现在我得到:
属性错误:“设置”对象没有属性“MEDIA_Root”

Settings.py

STATIC_URL = '/static/'
MEDIA_ROOT = os.path.join(BASE_DIR, 'media')
MEDIA_URL = '/media/'

urls.py

from django.contrib import admin
from django.urls import path
from django.conf import settings
from django.conf.urls.static import static

urlpatterns = patterns('', 
    path('admin/', admin.site.urls),
] + static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT),

还尝试了以下操作:

urlpatterns = [
    path('admin/', admin.site.urls),
] + static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT),
sz81bmfz

sz81bmfz1#

删除结尾处的逗号:
错误代码:

+ static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT),

良好代码:

+ static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)
y0u0uwnf

y0u0uwnf2#

我猜你实际上导入了错误的settings。重新检查你的实际代码。而不是导入这个(大写):

from django.conf import Settings

你应该导入这个(小写)

from django.conf import settings

此外,正如注解中指出的,这是一个错误(或者您不正确地将代码粘贴到此处):

'MEDIA_Root'STATIC_URL = '/static/'
rsaldnfx

rsaldnfx3#

对我来说,我在名字部分做错了。
我正在

Settings' object has no attribute 'STATIC'

我的密码是:

static(settings.STATIC_URL, document_root=settings.STATIC.ROOT)

我的代码应该是:

static(settings.STATIC_URL, document_root=settings.STATIC_ROOT)

相关问题