当我在服务器上传文件时,我在加载图像和媒体文件时遇到错误(未找到错误)。但是在我的电脑上(localhost)一切都还可以。你能帮我解决一下吗?
settings.py
STATIC_URL = '/site/'
STATIC_ROOT = os.path.join(os.path.dirname(BASE_DIR), "static_cdn")
STATICFILES_DIRS = os.path.join(BASE_DIR, "static"),
MEDIA_URL = '/files/'
MEDIA_ROOT = os.path.join(os.path.dirname(BASE_DIR), "media")
urls.py
urlpatterns = [
url(r'^admin/', admin.site.urls),
url(r'^', include('article.urls')),
]
if settings.DEBUG:
urlpatterns += static(settings.STATIC_URL, document_root=settings.STATIC_ROOT)
urlpatterns += static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)
模板/ index.html中
<div class="thumbnail">
<!--image-->
<canvas class="image-canvas" style="background-image: url({{ article.cover.url }});"></canvas>
<div class="caption">
<!--article head-->
<h3 style="text-align: center !important;">{{ article.title }}</h3>
<!--article summary-->
<div class="content"><p>{{ article.content | truncatewords_html:'30' }} </p></div>
</div>
<div class="visible-xs line "></div>
</div>
答案 0 :(得分:0)
您是否将Djache2与Django一起使用?
如果是,您是否指定了静态和媒体文件夹所在的apache2
<Directory /path/to/mysite.com/static>
Require all granted
</Directory>
<Directory /path/to/mysite.com/media>
Require all granted
</Directory>
https://docs.djangoproject.com/en/1.10/howto/deployment/wsgi/modwsgi/#serving-files
旧答案:
您是否在文件夹媒体上设置了正确的权限?
这种丑陋的方式
sudo chmod -R 777 /var/www/media/
好方法
sudo groupadd djangogroup
sudo adduser www-data djangogroup
sudo chgrp -R djangogroup /var/www/
sudo chmod -R 770 /var/www/
答案 1 :(得分:0)
$ ls -al static/
drwxrwxr-x 2 root root 4096 Feb 24 17:01 css
drwxrwxr-x 2 root root 4096 Feb 24 17:00 fonts
drwxrwxr-x 2 root root 4096 Feb 24 17:01 img
drwxrwxr-x 2 root root 4096 Feb 24 17:01 js
drwxrwxr-x 2 root root 4096 Feb 24 17:01 partials
drwxrwxr-x 2 root root 4096 Feb 24 17:01 scss
答案 2 :(得分:0)
如果您使用的是nginx,则必须配置静态和媒体文件所在的位置。 我已经使用本教程来配置nginx + uwsgi + django:
http://uwsgi-docs.readthedocs.io/en/latest/tutorials/Django_and_nginx.html
具体参考教程的this部分
它可能对你有帮助。