I'm trying to implement a simple CSS file to my python web app. When I try loding the app, I get a error message in the command prompt that says:
"GET /static/css/default.css HTTP/1.1" 404 1658
And of course no CSS is implemented to the HTML page. The structure of my Project is:
ProjectName
MyApp
MyTeachingApp
static
css
default.css
templates
page.html
In my settings.py
, I got:
BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
INSTALLED_APPS = [
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
]
STATIC_URL = '/static/'
And in the html I got the link tag inside the head like:
<link rel="stylesheet" href="{% static "css/default.css" %}" />
How do I correctly implement the CSS in my web app? Do I've to add something to the url.py
? Or is it in the settings.py using the STATIC_ROOT
or STATICFILES_DIRS
?
I'm using Django 1.9.
My urls.py
file contains the following code:
from django.conf.urls import url, include
from django.contrib import admin
from django.views import *
from django.conf import settings
from django.conf.urls.static import static
urlpatterns = [
url(r'^admin/', admin.site.urls),
url(r'^caesarTemp/', include('TeachingTool.urls')),
] + static(settings.STATIC_URL, document_root = settings.STATIC_ROOT)
This is the urls.py
inside the MyApp
folder.
I have an extra urls.py
file inside a MyTeachingApp
folder that contains:
from django.conf.urls import url
from . import views
urlpatterns = [
url(r'^$', views.printAlphabet, name = 'print'),
]
I tried adding the static statement to this urls.py
file and still didn't work.