Guillaume,
Here are some settings that you should compare to see if your project is
set up correctly:
In settings.py
# define the root directory to your project - this is just a convenience
so everything is referenced correctly.
PROJECT_PATH = os.path.abspath(os.path.dirname(__file__))
# the directory for your static files will be a sub-directory in your
project
STATIC_ROOT = os.path.join(PROJECT_PATH, "static")
STATIC_URL = '/static/'
# this allows you to use {{ STATIC_URL}} in your templates so you
don't have to hardwire the path
TEMPLATE_CONTEXT_PROCESSORS = (
...
'django.core.context_processors.static',
....
)
# Django searches all the installed apps for ./static sub-directories so
make sure you include your own
# application so the files can be found - this is the most common
mistake I make.
INSTALLED_APPS = (
...
'django.contrib.staticfiles',
...
'my-app'
)
Finally in urls.py make sure django is serving up the static files
correctly - this is only for your local devleopment machine so you can
find out if everything is working (for production you should configure
your web server to serve up the files):
if settings.DEBUG:
urlpatterns += patterns('django.views.static',
(r'^%s(?P<path>.*)$' % settings.STATIC_URL[1:] , 'serve',
{'document_root': settings.STATIC_ROOT}),
...
)
This should get everything working please let me know if it does not.
Regards,
Stuart MacKay
Lisbon, Portugal
Hi All,
It's been a couple of days since I last wrote and no response so I'm
trying again (see below). Please help if you can; without being able
to link to external static files I really can't do anything else with
my site. CSS is the very least of my concerns--worst case I can
include that info in each HTML file--but I need to be able to use some
basic javascript for my site and right now, because of this issue, I
can't even do that. Is there anyone who could help me troubleshoot
this? Anyone??
thanks,
Guillaume
On Wed, Aug 3, 2011 at 12:20 PM, Guillaume Chorn
<guillaumech...@gmail.com <mailto:guillaumech...@gmail.com>> wrote:
Ok, so I did use quotes in my link, and I changed my STATIC_URL
setting (in settings.py) from '/static/' to
'http://127.0.0.1:8000/static/' (I am currently using the built-in
development server at this address), but still no luck.
I'm not sure exactly what you mean by my "staticfiles settings."
(Sorry, once again I'm a total beginner so please bear with me.)
My current settings related to static files in 'settings.py' are
as follows:
STATIC_ROOT = ''
STATIC_URL = 'http://127.0.0.1:8000/static/'
ADMIN_MEDIA_PREFIX = '/static/admin/'
STATICFILES_DIRS =
('/Users/guillaumechorn/Documents/website/mainapp/static')
STATICFILES_FINDERS = (
'django.contrib.staticfiles.finders.FileSystemFinder',
'django.contrib.staticfiles.finders.AppDirectoriesFinder'
)
Below are the full contents of my urls.py file:
from django.conf.urls.defaults import *
from django.contrib.staticfiles.urls import staticfiles_urlpatterns
from django.contrib import admin
admin.autodiscover()
urlpatterns = patterns('',
(r'^home/$','mainapp.views.homepage'),
(r'^mainapp/$','mainapp.views.index'),
(r'^mainapp/(?P<company_id>\d+)/$', 'mainapp.views.detail'),
(r'^products/$','mainapp.views.productindex'),
(r'^products/(?P<product_id>\d+)/$','mainapp.views.productdetail'),
(r'^news/$','mainapp.views.news'),
(r'^events/(?P<event_id>\d+)/$','mainapp.views.eventdetail'),
(r'^partners/$','mainapp.views.partners'),
(r'^admin/', include(admin.site.urls)),
)
urlpatterns += staticfiles_urlpatterns()
Once again, I'm using the following to link to my CSS file:
<link rel="stylesheet" type="text/css" href='{{ STATIC_URL
}}stylesheet.css' />
Am I still missing something? Did I enter in anything incorrectly?
thanks,
Guillaume
On Tue, Aug 2, 2011 at 6:06 PM, Thomas Orozco
<g.orozco.tho...@gmail.com <mailto:g.orozco.tho...@gmail.com>> wrote:
Last thing, I made a typo, the address you could use should
start with http, like: http://127.0.0.1/static/
Le 2 août 2011 12:01, "Thomas Orozco"
<g.orozco.tho...@gmail.com <mailto:g.orozco.tho...@gmail.com>>
a écrit :
> A little detail, but you never know: you should put some ' '
in your link.
> Like this :
>
> <link rel="stylesheet" type="text/css" href='{{ STATIC_
> URL }}stylesheet.css' />
>
>
> If there are spaces in your path, this could cause the
lookup to fail.
>
> And even if that's not the case, don't rely on the user's
browser to fix
> coding mistakes.
> Le 2 août 2011 10:28, "Guillaume Chorn"
<guillaumech...@gmail.com <mailto:guillaumech...@gmail.com>> a
écrit :
>> Thomas and Lokesh,
>>
>> Thanks very much for your help. I've modified the link in
my HTML file to
>> be:
>>
>> <link rel="stylesheet" type="text/css" href={{ STATIC_URL
}}stylesheet.css
>> />
>>
>> where "stylesheet" is the name of the CSS file, and this
file is located
>> inside the directory listed under STATIC_DIRS in my
settings.py file. As
>> mentioned in my prior email, I also already have STATIC_URL
= '/static/'
> in
>> my settings.py file, and I have the correct methods listed
under
>> STATICFILES_FINDERS.
>>
>> But it is still not working. Do I have a syntax error
somewhere? Or am I
>> still missing something in another file?
>>
>> thanks,
>> Guillaume
>>
>> On Mon, Aug 1, 2011 at 6:45 PM, Thomas Orozco
<g.orozco.tho...@gmail.com <mailto:g.orozco.tho...@gmail.com>
>>wrote:
>>
>>> If your css file is locatedr in your staticfiles dir, you
should use
>>> something such as {{ STATIC_URL }}main.css, assuming your
CSS file is
> called
>>> main and is located in one of the STATIC_DIRS.
>>>
>>> Using staticfiles_dirs in a template makes no sense. Not
only your are
>>> passing a parameter that has to do with your system
configuration and not
>>> your urls, but you are also using a directory instead of a
file.
>>>
>>> In short, it is the static_url parameter that should be
passed to form a
>>> URL.
>>> Le 1 août 2011 12:17, "Gchorn" <guillaumech...@gmail.com
<mailto:guillaumech...@gmail.com>> a écrit :
>>>
>>> > Hello All,
>>> >
>>> > I'm using Django to develop a website, and I'm having
trouble getting
>>> > it to see my static files. I've looked through Django's
static file
>>> > documentation and the steps I've taken to get Django to
see my files
>>> > (using a CSS file as an example) are as follows:
>>> >
>>> > First, I created a folder called "static" inside the
main app folder
>>> > for this project. Then, I added "/static/" to the
STATIC_URLS section
>>> > of the settings.py file, and I also added the full path
to my CSS file
>>> > under the STATICFILES_DIRS section of settings.py.
>>> >
>>> > Then I added the line:
>>> >
>>> > from django.template import RequestContext, loader
>>> >
>>> > As well as "context_instance= RequestContext(request)"
as a third
>>> > argument to the "return render_to_response()" call.
>>> >
>>> > Finally, in my url.py file, I added this line at the top:
>>> >
>>> > from django.contrib.staticfiles.urls import
staticfiles_urlpatterns
>>> >
>>> > And this line at the bottom (separate from the initial
"urlpatterns =
>>> > patterns()" call):
>>> >
>>> > urlpatterns += staticfiles_urlpatterns()
>>> >
>>> > In my HTML/Django template, I added the following link
to my CSS file:
>>> >
>>> > <link rel="stylesheet" type="text/css" href={{
STATIC_DIRS }} />
>>> >
>>> > But then after all of this, when I perform a "python
manage.py
>>> > runserver" to preview the website, Django still does not
appear to
>>> > find the external CSS file. I must still be missing
something but I'm
>>> > not sure what--does anyone know???
>>> >
>>> > I'm sure I'm missing something very basic but I'm a
total beginner so
>>> > please be patient with me, I probably need a lot of very
specific
>>> > instructions...
>>> >
>>> > thanks,
>>> > Guillaume
>>> >
>>> > --
>>> > You received this message because you are subscribed to
the Google
> Groups
>>> "Django users" group.
>>> > To post to this group, send email to
django-users@googlegroups.com
<mailto:django-users@googlegroups.com>.
>>> > To unsubscribe from this group, send email to
>>> django-users+unsubscr...@googlegroups.com
<mailto:django-users%2bunsubscr...@googlegroups.com>.
>>> > For more options, visit this group at
>>> http://groups.google.com/group/django-users?hl=en.
>>> >
>>>
>>> --
>>> You received this message because you are subscribed to
the Google Groups
>>> "Django users" group.
>>> To post to this group, send email to
django-users@googlegroups.com
<mailto:django-users@googlegroups.com>.
>>> To unsubscribe from this group, send email to
>>> django-users+unsubscr...@googlegroups.com
<mailto:django-users%2bunsubscr...@googlegroups.com>.
>>> For more options, visit this group at
>>> http://groups.google.com/group/django-users?hl=en.
>>>
>>
>> --
>> You received this message because you are subscribed to the
Google Groups
> "Django users" group.
>> To post to this group, send email to
django-users@googlegroups.com
<mailto:django-users@googlegroups.com>.
>> To unsubscribe from this group, send email to
> django-users+unsubscr...@googlegroups.com
<mailto:django-users%2bunsubscr...@googlegroups.com>.
>> For more options, visit this group at
> http://groups.google.com/group/django-users?hl=en.
>>
--
You received this message because you are subscribed to the
Google Groups "Django users" group.
To post to this group, send email to
django-users@googlegroups.com
<mailto:django-users@googlegroups.com>.
To unsubscribe from this group, send email to
django-users+unsubscr...@googlegroups.com
<mailto:django-users%2bunsubscr...@googlegroups.com>.
For more options, visit this group at
http://groups.google.com/group/django-users?hl=en.
--
You received this message because you are subscribed to the Google
Groups "Django users" group.
To post to this group, send email to django-users@googlegroups.com.
To unsubscribe from this group, send email to
django-users+unsubscr...@googlegroups.com.
For more options, visit this group at
http://groups.google.com/group/django-users?hl=en.
--
You received this message because you are subscribed to the Google Groups "Django
users" group.
To post to this group, send email to django-users@googlegroups.com.
To unsubscribe from this group, send email to
django-users+unsubscr...@googlegroups.com.
For more options, visit this group at
http://groups.google.com/group/django-users?hl=en.