错误:在此服务器上找不到请求的URL / media /

时间:2019-05-01 21:51:11

标签: django

我正在pythonanywhere上使用Django创建一个Web应用程序。我正在尝试通过转到http://thedstrat94.pythonanywhere.com/media/example.png访问媒体文件夹中的文件。我只会收到“未找到”错误

我在urls.py中的网址模式看起来正确:

urlpatterns = [
    path('admin/', admin.site.urls), #url(r'^admin/', admin.site.urls),
    path('', views.index, name = "index"),
    path('about/',views.about,name = "about"),
    path('articles/',include("article.urls")),
    path('user/',include("user.urls")),
]
urlpatterns += static(settings.MEDIA_URL, 
document_root=settings.MEDIA_ROOT)

我的settings.py文件看起来正确:

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

1 个答案:

答案 0 :(得分:1)

  

没有使Django在生产环境中提供媒体文件。

在调试模式下本地运行应用程序时,Django仅在Debug=True时提供媒体文件。

这意味着使用以上设置,您将无法在生产中投放媒体文件。

  

解决方案:

  1. 要么使用某些云服务,例如Amazon S3。
  2. 您将服务器 Apache / Nginx 配置为处理媒体文件。