Python Django:为什么我在setttings.py和url.py中需要这些
我正在观看制作视频订阅网站的在线教程,不知何故,这些代码应该出现在我的settings.py中:Python Django:为什么我在setttings.py和url.py中需要这些,python,django,Python,Django,我正在观看制作视频订阅网站的在线教程,不知何故,这些代码应该出现在我的settings.py中: STATIC_URL = '/static/' STATICFILES_DIRS = [ os.path.join(BASE_DIR, 'static_root'), ] VENV_PATH = os.path.dirname(BASE_DIR) STATIC_ROOT = os.path.join(BASE_DIR, 'static/') MEDIA_URL = '/media/' MED
STATIC_URL = '/static/'
STATICFILES_DIRS = [
os.path.join(BASE_DIR, 'static_root'),
]
VENV_PATH = os.path.dirname(BASE_DIR)
STATIC_ROOT = os.path.join(BASE_DIR, 'static/')
MEDIA_URL = '/media/'
MEDIA_ROOT = os.path.join(VENV_PATH, 'media_root')
在my URL.py中,这些代码也会出现
if settings.DEBUG:
urlpatterns += static(settings.STATIC_URL, document_root=settings.STATIC_ROOT)
urlpatterns += static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)
我是django和python的初学者,谁能解释一下我为什么需要这些代码吗?django的静态文件是所有指定网站“外观”的文件(css和js文件以及图像)。从Django的官方网站上查看这部分内容。媒体URL部分是关于存储和服务用户上传的图像的;但是要小心,这只在开发期间有效(DEBUG=True),不适合生产使用。请参阅,了解如何在部署期间为静态文件提供服务 因此,您在该代码中指定的是Django在加载所有图像、js和css文件时应该查找的位置,因为您正在开发中。
static(settings.static\u URL,document\u root=settings.static\u root)
可能没有必要-查看
静态(settings.MEDIA\u URL,document\u root=settings.MEDIA\u root)
是显示开发中的媒体文件所必需的。您不应该在生产中使用它,因为它需要设置。DEBUG
才能为true。在生产中,您应该将web服务器配置为直接提供静态和媒体文件。例如,在Nginx中,您可以在配置文件中定义location/static
和location/media
查看以了解更多详细信息。告诉Django在哪里可以找到静态(css、js)文件和用户上传的文件(媒体)