Je suis nouveau sur Django. Je deviens fou en essayant de comprendre ce qui se passe avec les fichiers statiques (css et images).Django - Comportement étrange en utilisant des fichiers statiques
Le résumé du problème est le suivant ... lorsque j'utilise des vues statiques d'une application tierce (Haystack) je ne peux pas utiliser de fichiers statiques.
Mon projet ont cette structure de répertoire:
1001empbr (name of the folder for the project)
|
|------ 1001emp (name of the django project)
|
|------ 1001empbr (name of my App)
|------ site_media (folder with static files CSS/JPG/GIF)
|------ templates (folder with the templates)
Lorsque j'utilise urlpatterns (urls.py) comme celui-ci fonctionne très bien:
import os.path # Para poder suportar static files
from django.conf.urls.defaults import patterns, include, url
from emp1001br.views import *
from emp1001 import settings
from haystack.forms import FacetedSearchForm
from haystack.query import SearchQuerySet
from haystack.views import FacetedSearchView
import datetime
urlpatterns = patterns(
#'haystack.views',
#url(r'^resultados/$', FacetedSearchView(template='emp1001br/pgresultados.html', searchqueryset=sqs, form_class=FacetedSearchForm), name='haystack_search'),
'',
(r'^site_media/(?P<path>.*)$', 'django.views.static.serve', {'document_root': settings.MEDIA_ROOT}), # To support static files
url(r'^$', main_page),
(r'^iframe/$', i_frame),
)
Voici l'activité du serveur:
0 errors found
Django version 1.3.1, using settings 'emp1001.settings'
Development server is running at http://127.0.0.1:8000/
Quit the server with CONTROL-C.
[17/Nov/2011 10:15:30] "GET/HTTP/1.1" 200 2816
[17/Nov/2011 10:15:30] "GET /site_media/estilos.css HTTP/1.1" 200 6894
[17/Nov/2011 10:15:30] "GET /site_media/pgiframe.css HTTP/1.1" 200 1345
[17/Nov/2011 10:15:31] "GET /site_media/logo1.gif HTTP/1.1" 200 4358
[17/Nov/2011 10:15:31] "GET /site_media/fundo1.jpg HTTP/1.1" 304 0
[17/Nov/2011 10:15:31] "GET /site_media/form.gif HTTP/1.1" 304 0
[17/Nov/2011 10:16:20] "GET /iframe/ HTTP/1.1" 200 1874
[17/Nov/2011 10:16:20] "GET /site_media/close.gif HTTP/1.1" 200 124
[17/Nov/2011 10:16:20] "GET /site_media/banner.jpg HTTP/1.1" 200 12538
[17/Nov/2011 10:16:20] "GET /site_media/logo2.gif HTTP/1.1" 200 3418
[17/Nov/2011 10:16:20] "GET /site_media/imgs/fundo1.jpg HTTP/1.1" 404 1753
[17/Nov/2011 11:20:06] "GET/HTTP/1.1" 200 2816
Lorsque j'utilise les vues statiques de Haystack:
import os.path # Para poder suportar static files
from django.conf.urls.defaults import patterns, include, url
from emp1001br.views import *
from emp1001 import settings
from haystack.forms import FacetedSearchForm
from haystack.query import SearchQuerySet
from haystack.views import FacetedSearchView
import datetime
urlpatterns = patterns(
'haystack.views',
url(r'^resultados/$', FacetedSearchView(template='emp1001br/pgresultados.html', searchqueryset=sqs, form_class=FacetedSearchForm), name='haystack_search'),
'',
(r'^site_media/(?P<path>.*)$', 'django.views.static.serve', {'document_root': settings.MEDIA_ROOT}), # To support static files
url(r'^$', main_page),
(r'^iframe/$', i_frame),
)
Certains après la navigation fois que je reçois ceci:
0 errors found
Django version 1.3.1, using settings 'emp1001.settings'
Development server is running at http://127.0.0.1:8000/
Quit the server with CONTROL-C.
[17/Nov/2011 11:50:25] "GET /resultados/?q=m%C3%A9dico HTTP/1.1" 200 10634
[17/Nov/2011 11:50:25] "GET /site_media/estilos.css HTTP/1.1" 500 85526
[17/Nov/2011 11:50:26] "GET /site_media/pgiframe.css HTTP/1.1" 500 85548
[17/Nov/2011 11:50:26] "GET /site_media/logo2.gif HTTP/1.1" 500 85067
[17/Nov/2011 11:50:27] "GET /site_media/banner.jpg HTTP/1.1" 500 85315
Unhandled exception in thread started by <bound method Command.inner_run of <django.contrib.staticfiles.management.commands.runserver.Command object at 0x1225ed0>>
Error in sys.excepthook:
Traceback (most recent call last):
File "/usr/lib/python2.6/site-packages/abrt_exception_handler.py", line 147, in <lambda>
sys.excepthook = lambda etype, value, tb: handleMyException((etype, value, tb))
TypeError: 'NoneType' object is not callable
Original exception was:
Traceback (most recent call last):
File "/home/andre/python_virtualenv/lib/python2.6/site-packages/django/core/management/commands/runserver.py", line 107, in inner_run
run(self.addr, int(self.port), handler, ipv6=self.use_ipv6)
File "/home/andre/python_virtualenv/lib/python2.6/site-packages/django/core/servers/basehttp.py", line 696, in run
httpd.serve_forever()
File "/usr/lib64/python2.6/SocketServer.py", line 224, in serve_forever
r, w, e = select.select([self], [], [], poll_interval)
AttributeError: 'NoneType' object has no attribute 'select'
Toute idée de ce qui devrait être la cause?
Cordialement,
Cela n'a absolument rien à voir avec les fichiers statiques (que vous n'utilisez pas correctement de toute façon). Je pense que vous devez réviser votre question pour clarifier ce que vous essayez d'accomplir. –
Merci pour votre réponse. Pouvez-vous me donner un indice sur le sujet du problème? Je suis très peu expérimenté avec Django. –
Si vous utilisez apache essayez 'SetHandler none' sur le site_media directory –