我有一个django项目.为了设置我的媒体网址,我遵循了django doc Django doc-静态文件:
I have a django project. In order to set up my media url, I followed the django doc Django doc - Managing static files:
例如,如果您的MEDIA_URL定义为/media/,则可以通过将以下代码段添加到urls.py中来做到这一点:
For example, if your MEDIA_URL is defined as /media/, you can do this by adding the following snippet to your urls.py:
从django.conf导入设置从django.conf.urls.static导入静态
from django.conf import settings from django.conf.urls.static import static
urlpatterns = [#... URLconf的其余部分在这里...] +静态(settings.MEDIA_URL,document_root = settings.MEDIA_ROOT)
urlpatterns = [ # ... the rest of your URLconf goes here ... ] + static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)
我的 settings.py :
# .... BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__))) BASE_URL = '127.0.0.1:8000' # ... MEDIA_URL_REL = '/media/' MEDIA_URL = BASE_URL + MEDIA_URL_REL MEDIA_ROOT = os.path.join(BASE_DIR, 'media/')我的 urls.py :
from django.conf import settings from django.conf.urls import url, include from django.conf.urls.static import static urlpatterns = [ # ... ] + static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)我的上载文件位于媒体根目录中,但是当我访问媒体URL时[ 127.0.0.1:8000/media/proof/img.pdf ],它会返回未找到HTTP 404 .
My uploaded files are found in media root, but when I access media url [ 127.0.0.1:8000/media/proof/img.pdf]for it, it returns HTTP 404 NOT FOUND.
推荐答案请不要使用任何硬编码的网址.这不仅仅是坏习惯.
Please don't make any url with hard coded. This is more than bad practice.
BASE_URL ='127.0.0.1:8000'
你不能这样写.
您的解决方案,
MEDIA_URL ='/media/'
urlpatterns = [.......] +静态(settings.MEDIA_URL,document_root = settings.MEDIA_ROOT)
希望这行得通.
更多推荐
Django Media url返回404 Not Found
发布评论