【发布时间】:2016-04-14 00:38:01
【问题描述】:
我正在使用基于 andrecp git 的 django+nginx - https://github.com/andrecp/django-tutorial-docker-nginx-postgres
这是 nginx.conf 文件:
worker_processes 1;
events {
worker_connections 1024;
}
http {
include /etc/nginx/mime.types;
gzip on;
gzip_proxied any;
gzip_types text/plain text/xml text/css application/x-javascript;
gzip_vary on;
gzip_disable "MSIE [1-6]\.(?!.*SV1)";
server {
listen 80;
server_name mysite.com;
client_max_body_size 20M;
charset utf-8;
access_log /dev/stdout;
error_log /dev/stdout info;
location /static {
alias /usr/src/app/static;
}
location /static/myapp/js/ {
default_type text/javascript;
alias /usr/src/app/static/myapp/js/;
}
location /static/myapp/css/ {
default_type text/css;
alias /usr/src/app/static/myapp/css/;
}
location /media {
alias /usr/src/app/media;
}
location / {
proxy_pass http://django:8000;
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 X-Forwarded-Host $server_name;
}
}
}
这是我的模型:
class RSSfeeds(models.Model):
site_name = models.CharField('Site Name', max_length=100)
feed_name = models.CharField('Feed Name', max_length=100)
feed_url = models.CharField('URL', max_length=1000)
img = models.ImageField('Image', upload_to='img/', null=True, blank=True)
我的网站上有一个带有图片上传输入的简单表单。 当我在 DEBUG=TRUE 时,文件正在按预期上传,但我认为 django 处理它们而不是 Nginx(因为它们被放置在 django 文件夹中)。 当 DEBUG=False 没有任何反应 - 我发送表单,文本数据被正确存储,但图像没有被保存。
我做错了什么?
谢谢!
更新:
server {
listen 80;
server_name yourserver.com;
client_max_body_size 50M;
charset utf-8;
location /static {
alias /www/static;
}
location /media {
alias /www/media;
}
location / {
proxy_pass http://django:8000;
proxy_redirect off;
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 X-Forwarded-Host $server_name;
}
}
【问题讨论】:
-
你在这方面有什么收获吗?我得到相同的结果。虽然我的上传开始工作,但他们不再。真奇怪
-
我解决了,但我不得不承认我不记得问题出在哪里。如果有帮助,我在我的问题中添加了一个简单的服务器配置
标签: python django postgresql nginx