昨天在宝塔面板中安装DJango项目时,静态文件始终设置不了,找了很久的教程都没有找到解决的方法。最后在群友的帮助下得到了解决,下面将解决的方法分享出来。
首先,我们打包Django项目后,静态文件有两个,一个是前端的静态文件,一个是后端的静态文件。如果不做处理,基本上都是使用不了的。下面先分享如何获取后端静态文件。
第一方式是最为暴力的方法。在本地调试的时候,将静态文件全部通过网页访问源文件的形式获取。
第二种方式需要进入到项目环境中,先找到***_venv,前面的***是项目名称,这个文件对应本地文件venv,在宝塔面板创建项目后,自动生成为项目名称_venv。找到这个文件目录,进入环境,使用命令source /www/wwwroot/seo/lizhi/fff_venv/bin/activate。激活后,再使用命令python manage.py collectstatic,就能够将后端静态文件全部生成到对应文件夹中,其实就是我们在本地调试的时候设置的静态文件目录,命令执行完成后,在静态目录下会生成admin目录,里面包含的就是后端的静态文件。
做完这些步骤后我们按照网上的教程,在反向代理中设置静态文件,代码如下:
location /static/ { alias /www/wwwroot/seo/lizhi/static/; }
重启项目,再访问前端。我这里始终访问不了静态文件,找了很多方法都不行,网上也没有介绍。今天群友告诉了我处理方法,其实很简单,懂Nginx配置的应该会自己发现这个问题,但是我不懂。具体操作方法就是,在反向代理设置中,将如下代码注释掉就好了,这里我已经注释好了,你们的源文件中这段代码前面是不带#号的。
#PROXY-START/ #location ~* \.(gif|png|jpg|css|js|woff|woff2)$ #{ # proxy_pass http://127.0.0.1:8080; # proxy_set_header Host $host; # proxy_set_header X-Real-IP $remote_addr; # proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; # proxy_set_header REMOTE-HOST $remote_addr; # expires 12h; #}
注释完后,我们再访问我们的网站,一切OK。
评论