you template tag register invalid forget did django static nginx

register - django template tags



Nginx no sirve estático (2)

Estoy ejecutando Django en Ubuntu Server 9.04.

Django funciona bien, pero nginx no devuelve archivos estáticos, siempre 404.

Aquí está la configuración:

server { listen 80; server_name localhost; #site_media - folder in uri for static files location /static { root /home/user/www/oil/oil_database/static_files; autoindex on; } #location ~* ^.+/.(jpg|jpeg|gif|png|ico|css|zip|tgz|gz|rar|bz2|doc|xls|exe|pdf|ppt|txt|tar|mid|midi|wav|bmp|rtf|js|mov) { # root /home/user/www/oil/oil_database/static_files; # access_log off; # expires 30d; #} location / { root html; index index.html index.htm; # host and port to fastcgi server #fastcgi_pass 127.0.0.1:8080; fastcgi_pass unix:/home/user/www/oil/oil_database/oil.sock; fastcgi_param PATH_INFO $fastcgi_script_name; fastcgi_param REQUEST_METHOD $request_method; fastcgi_param QUERY_STRING $query_string; fastcgi_param CONTENT_TYPE $content_type; fastcgi_param CONTENT_LENGTH $content_length; fastcgi_pass_header Authorization; fastcgi_intercept_errors off; } access_log /var/log/nginx/localhost.access_log; error_log /var/log/nginx/localhost.error_log; }

La versión de Nginx es 0.6.35.

Todos los directorios existen e hicieron 777 (paranoia de depuración). El bloque comentado no ayuda cuando lo descomente.


¿Cómo se configura tu directorio? ¿Tiene una carpeta static en /home/user/www/oil/oil_database/static_files ? En ese caso, la directiva debería verse así (observe la barra final en /static/ ):

location /static/ { autoindex on; root /home/user/www/oil/oil_database/static_files; }

Si desea asignar la ruta /home/user/www/oil/oil_database/static_files a la URL /static/ , tiene que

  • renombra la carpeta static_files a static y usa esta directiva:

    location /static/ { autoindex on; root /home/user/www/oil/oil_database/; }

  • usa un alias

    location /static/ { autoindex on; alias /home/user/www/oil/oil_database/static_files/; }

Consulte la documentación en las directivas root y alias .


Tengo una configuración similar para mis sitios de Django, pero creo que quiere usar alias lugar de root para sus medios. Por ejemplo:

location /static { alias /home/user/www/oil/oil_database/static_files; }