La parte de las urls: Mas o menos así se ve un urlconf
from django.conf import settings from django.conf.urls.static import static urlpatterns = patterns('', # Las urls de tu apps ) if settings.DEBUG: urlpatterns += static(settings.STATIC_URL, document_root=settings.STATIC_ROOT) urlpatterns += static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT) Recuerdas que haces las urls.py? Ligan un patrón de urls con una vista. Esto es exactamente lo que estamos haciendo aquí. En este caso el patron es STATIC_URL y MEDIA_URL, pasamos tambien el document root en este casoo STATIC_ROOT Y MEDIA_ROOT respectivamente y la función static se encarga de generar la todas las cosas necesarias para que pueda servir contenido estático. Esto es perfecto para el caso de desarrollo. Para el caso de producción: Configura tu servidor web, en el caso especifico de nginx. location /static/ { alias /var/example.com/static/; } Donde /var/example.com/static/ es tu STATIC_ROOT, lo mismo funciona para media. Para apache ha de ser alguna configuración similar. Para cualquier otro webserver le la documentación del webserver. El 31 de agosto de 2014, 21:40, Pablo Ezequiel Ferreyra < pabloeferre...@gmail.com> escribió: > agradezco tu ayuda man, pero lamentablemente, entendi todo hasta la parte > de la url que me pasas, no se si sera ignorancia mia solamente, pero no > logro entender lo del url pattern > "+ static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)" que no > se como configurarlo ,por que me esta tirando errores, y la documentacion > no me da respuestasseguras, por lo que he visto, tambien he vuelto a > googlear, y ninguna documentacion que se presenta, me da vistas diferentes, > pero ninguna ayuda realmente, lamentablemente > > si me pueden ayudar con configurar el webserver, se los agradeceria, por > que sinceramente, estoy en un bucle muy raro de desentendimiento > > > El 31/08/14 a las 23:00, Ricardo Azpeitia Pimentel escibió: > > Veo un montón de detalles en tu settings, cables hardcodeadas por varios > lados, es un error que todo el mundo comete. Incluso cuando inicie lo > cometí. Pero no es ningún pecado cometer este tipo de errores pero no > tratarlo de corregirlo si lo es o debería de serlo xD. > > Volviendo al tema de los archivos estáticos no deberían de ser un tema > complejo. Te voy a explicar rápidamente como funcionan los archivos > estáticos. Que no son temas de django per se, si no de desarrollo web, a lo > que voy es que son conceptos que lo puedes aplicar en django, ruby o rails, > ASP .net o cualquier otro webframework. > > Los archivos estáticos, es contenido que se entrega tal y como se > encuentra guardado. Los archivos mas comunes, css, js, imagenes (png, jpg, > gif, etc...) pero en general puede ser cualquier archivo. > > Django, divide los archivos estáticos en 2 categorías. Statics y Media. > > Statics son archivos estáticos que usa el desarrollador para la > aplicación. > Mientras que Media son los archivos estáticos que sube el usuario al > momento de usar la aplicación. > > Django ofrece 4 variables básicas para configurar los archivos estáticos. > > STATIC_ROOT > STATIC_URL > > MEDIA_ROOT > MEDIA_URL > > Las variables *_ROOT es simplemente una cadena con la ruta (path) de > donde están esos archivos estáticos. > Ejemplo: > MEDIA_ROOT = '/var/statics/example.com/media/' > STATIC_ROOT = '/var/statics/example.com/static/' > > Y las variables *_URL es el fragmento de URL de donde sera servidas. > Ejemplo: > MEDIA_URL = '/media/' > STATIC_URL = '/static/' > > Entonces si tengo configurado las variables STATIC_* y hago: > http://www.example.com/static/somefile.txt > > Va intentar buscar*: > /var/statics/example.com/static/somefile.txt > > (Suponiendo que django sirve los archivos estáticos que es una pésima > idea, excepto si estas en desarrollo.) > * Django tiene algo llamado static finders, realmente no solamente busca > en esa localización, busca en una lista de localizaciones. Ya sea por > alguna definida o inspecciona cada app. Para mas información al respecto > lee la documentación. > > Lo mismo ocurre para media. > > Como dije antes, django no debería de servir los archivos estáticos. Y > tal vez te preguntes entonces para que le doy la ruta si no va a servir los > archivos estáticos? Bueno lo interesante pasa cuando haces 2 operaciones: > collectstatics, lo que hace es busca todos archivos estáticos de las apps y > de otros lugares (ver static finders) y los pone todos en el STATIC_ROOT. > La otra operación interesante es cuando el usuario sube archivos, a donde > van a parar esos archivos? Obviamente al MEDIA_ROOT y por eso son > necesarias las rutas. > > Lo que haces en producción es configurar tu servidor web para que cuando > venga una petición http por /static/ (STATIC_URL) o /media/ (MEDIA_URL) > envié directo los archivos que estén en STATIC_ROO o MEDIA_ROOT > respectivamente. Este tema queda fuera de django, porque es mas de la > configuración de tu webserver. > > > Suficiente explicaciones, tu problema es que no tienes configurado tu > proyecto para que sirva los archivos estáticos. > > Veamos el checklist: > STATIC_ROOT [X] > STATIC_URL [X] > urls.py [ ] > > Veo que no tienes configurado django para que responda a las peticiones > HTTP, via /static/. Para activarlas esta explicado en la documentación. > > https://docs.djangoproject.com/en/1.6/howto/static-files/#serving-files-uploaded-by-a-user-during-development > > Si estas en producción, entonces configura tu webserver para que sirva > los archivos estáticos y no lo haga django. > > No necesitas que sea tu ultima vez preguntando, pero no lees mas de como > funciona django (libros, tutoriales, cursos, screencasts, hay un sin fin de > material) seguramente seguirás preguntando, por cualquier problema que te > topes. > > > > El 31 de agosto de 2014, 19:23, Pablo Ezequiel Ferreyra < > pabloeferre...@gmail.com> escribió: > >> hola gente, pido disculpas, creo que este es el ultimo mail que envio >> pidiendo ayuda, pero es que ya me tiene loco este proyecto, y soy bastante >> novato por ahora en el mundo de django, aunque gracias a todos y toda la >> ayuda, voy aprendiendo bastante sobre este lenguaje, y voy a poder >> aplicarlo mejor en los proximos proyectos. >> >> ahora, el problema que tengo, es que no logro entender como configurar >> los archivos estaticos, he buscado por google, y por la documentacion >> oficial, pero he entrado a callejones sin salida, de los que no he podido >> ver la luz del sol. >> >> por lo tanto, recurro una vez mas a su sabiduria para que me ayuden a >> resolver esto, por que no se donde estoy fallando, por que en teoria, esta >> todo correcto, no se que es lo que falla, pero todo lo que es static, y >> estilos css no me los carga ni por que le suplique, me levanta una pantalla >> sin ningun tipo de estilo en html, cosa que es bastante engorroso >> >> comparto mi codigo para que me puedan ayudar, como es costumbre, ya que >> esta vez, la consola no me ayuda por que no devuelve nada erroneo >> http://github.com/hackerzeta/sistema/ >> _______________________________________________ >> Python-es mailing list >> Python-es@python.org >> https://mail.python.org/mailman/listinfo/python-es >> FAQ: http://python-es-faq.wikidot.com/ >> > > > > _______________________________________________ > Python-es mailing > listPython-es@python.orghttps://mail.python.org/mailman/listinfo/python-es > FAQ: http://python-es-faq.wikidot.com/ > > > > _______________________________________________ > Python-es mailing list > Python-es@python.org > https://mail.python.org/mailman/listinfo/python-es > FAQ: http://python-es-faq.wikidot.com/ > >
_______________________________________________ Python-es mailing list Python-es@python.org https://mail.python.org/mailman/listinfo/python-es FAQ: http://python-es-faq.wikidot.com/