部署的Django 3项目看不到静态文件

时间:2020-03-25 19:06:22

标签: python css django nginx django-3.0

部署(在服务器上)的Django 3项目看不到静态文件和css文件(整个静态文件夹),开发机器上的本地文件运行良好。

我遵循的指南是this

  • 我已经用ubuntu 18.04建立了一个数字海洋小滴
  • 我的静态文件可以在这里找到
STATICFILES_DIRS = [os.path.join(BASE_DIR, 'mymainapp/static/')]
#STATIC_ROOT = os.path.join(BASE_DIR, 'static') # Removed based [on](https://stackoverflow.com/questions/60354519/django-base-html-extended-to-homepage-html-static-images-appear-but-home-css-d)
STATIC_URL = '/static/'
MEDIA_ROOT = os.path.join(BASE_DIR, 'mymainapp/media')
MEDIA_URL = '/media/'
  • guide中的其他所有拥有Postgres,Nginx和Gunicorn的员工一样
  • 但是静态文件(图像,SVG,css,文件未加载)
  • 我将引导CSS文件下载到了本地目录
  • 该网站处于在线状态,如果我按Chrome中的F12键,则会显示以下错误消息(将DEBUG = True转到后将不会再显示任何错误消息或错误页面)
Failed to load resource: the server responded with a status of 404 (Not Found)
homepage03_comp.png:1 Failed to load resource: the server responded with a status of 404 (Not Found)
logo_03c_small.png:1 Failed to load resource: the server responded with a status of 404 (Not Found)
jquery.min.js:1 Failed to load resource: the server responded with a status of 404 (Not Found)
bootstrap.min.js:1 Failed to load resource: the server responded with a status of 404 (Not Found)
popper.min.js:1 Failed to load resource: the server responded with a status of 404 (Not Found)
tiktok_col.svg:1 Failed to load resource: the server responded with a status of 404 (Not Found)
instagram_col.svg:1 Failed to load resource: the server responded with a status of 404 (Not Found)
twitch_col.svg:1 Failed to load resource: the server responded with a status of 404 (Not Found)
twitter_col.svg:1 Failed to load resource: the server responded with a status of 404 (Not Found)
youtube_col.svg:1 Failed to load resource: the server responded with a status of 404 (Not Found)
facebook_col.svg:1 Failed to load resource: the server responded with a status of 404 (Not Found)
bootstrap.min.js:1 Failed to load resource: the server responded with a status of 404 (Not Found)
mobile_features_large_compressed.png:1 Failed to load resource: the server responded with a status of 404 (Not Found)
creator_platforms_comp.png:1 Failed to load resource: the server responded with a status of 404 (Not Found)
creator_sm_comp.png:1 Failed to load resource: the server responded with a status of 404 (Not Found)
reoccuring_f.svg:1 Failed to load resource: the server responded with a status of 404 (Not Found)
stripe_f.svg:1 Failed to load resource: the server responded with a status of 404 (Not Found)
customerchat.php?app_id=&attribution=setup_tool&channel=https%3A%2F%2Fstaticxx.facebook.com%2Fconnect%2Fxd_arbiter.php%3Fversion%3D46%23cb%3Df2ca0722231e688%26domain%3D159.65.234.146%26origin%3Dhttp%3A%2F%2F159.65.234.146%2Ff167133a445f9a4%26relation%3Dparent.parent&container_width=0&locale=en_US&page_id=2172253486430236&sdk=joey:1 Failed to load resource: the server responded with a status of 500 ()
paypal_f.svg:1 Failed to load resource: the server responded with a status of 404 (Not Found)
googleads1_f.svg:1 Failed to load resource: the server responded with a status of 404 (Not Found)
googlepay_f.svg:1 Failed to load resource: the server responded with a status of 404 (Not Found)
amazon_f.svg:1 Failed to load resource: the server responded with a status of 404 (Not Found)
bitcoin_f.svg:1 Failed to load resource: the server responded with a status of 404 (Not Found)
logo_02_Background.png:1 Failed to load resource: the server responded with a status of 404 (Not Found)
shirts_f.svg:1 Failed to load resource: the server responded with a status of 404 (Not Found)
message_f.svg:1 Failed to load resource: the server responded with a status of 404 (Not Found)
sopnsor2_f.svg:1 Failed to load resource: the server responded with a status of 404 (Not Found)
socialmedia_f.svg:1 Failed to load resource: the server responded with a status of 404 (Not Found)
combinedbarnad_f.svg:1 Failed to load resource: the server responded with a status of 404 (Not Found)
applepay_f.svg:1 Failed to load resource: the server responded with a status of 404 (Not Found)
check.svg:1 Failed to load resource: the server responded with a status of 404 (Not Found)
feature_description_laptop_cut.png:1 Failed to load resource: the server responded with a status of 404 (Not Found)
self_image_comp.png:1 Failed to load resource: the server responded with a status of 404 (Not Found)
reddit_col.svg:1 Failed to load resource: the server responded with a status of 404 (Not Found)
linkedin_col.svg:1 Failed to load resource: the server responded with a status of 404 (Not Found)
collie_2_comp.jpg:1 Failed to load resource: the server responded with a status of 404 (Not Found)
bootstrap.min.css:1 Failed to load resource: the server responded with a status of 404 (Not Found)
DevTools failed to parse SourceMap: chrome-extension://hnmpcagpplmpfojmgmnngilcnanddlhb/browser-polyfill.min.js.map
DevTools failed to parse SourceMap: chrome-extension://gighmmpiobklfepjocnamgkkbiglidom/include.preload.js.map
DevTools failed to parse SourceMap: chrome-extension://hnmpcagpplmpfojmgmnngilcnanddlhb/browser-polyfill.min.js.map
DevTools failed to parse SourceMap: chrome-extension://gighmmpiobklfepjocnamgkkbiglidom/include.postload.js.map
  • 在通读指南之前,我遇到了相同的错误,只是有了它的基本拉动git版本并与python3 manage.py runserver一起运行,它会加载网站,但不会加载CSS和静态元素
  • 我已将基本/media/static文件夹放入gitignore中(这些文件夹应该是收集元素的静态夹头的文件夹)。原始静态位于myowndjango-project/myowndjango/staticmyowndjango-project/myowndjango/media
  • 我还按如下所示设置了nginx
...
location /static/ {
        root /home/myserveruser/myowndjango-project;
    }
    location /media/ {
        root /home/myserveruser/myowndjango-project;
    }
...

我尝试解决的问题

  • 查找服务器访问日志
    • 运行/var/log/nginx/access.log结果:-bash: /var/log/nginx/access.log: Permission denied
    • 运行sudo /var/log/nginx/access.log结果:sudo: /var/log/nginx/access.log: command not found
  • 更改nginx文件
...
location /static/ {
        root /home/myserveruser/myowndjango-project/myowndjango/static;
    }
    location /media/ {
        root /home/myserveruser/myowndjango-project/myowndjango/media;
    }
...
  • 运行python3 manage.py collectstatic(重新启动nginx和gunicorn),它仍然发生相同的错误。

2 个答案:

答案 0 :(得分:1)

您在nginx中的静态文件位置的文件夹有误,应将完整路径放置在确切的静态文件/媒体文件文件夹中

php artisan storage:link

答案 1 :(得分:0)

有3个有用的资源可以从Django 3官方文档中回答这个问题

创建一个local_settings.py文件,该文件应在部署模式下将属性替换/添加到常规设置文件中。

STATIC_ROOT = os.path.join(BASE_DIR, 'static')

根据您的情况导入