use django.contrib.staticfiles
authorStefan Kögl <stefan@skoegl.net>
Sun, 21 Jul 2013 09:34:50 +0000 (21 11:34 +0200)
committerStefan Kögl <stefan@skoegl.net>
Sun, 21 Jul 2013 09:34:50 +0000 (21 11:34 +0200)
.gitignore
mygpo/settings.py
mygpo/web/templates/base.html
mygpo/web/templates/embed.html
mygpo/web/templates/home.html

index c436afc..438e23b 100644 (file)
@@ -10,3 +10,6 @@ doc/_build
 
 # vim swap files
 *.swp
+
+# static files copied by the collectstatic command
+mygpo/staticfiles/
index 049f787..2bfd81b 100644 (file)
@@ -102,14 +102,12 @@ SITE_ID = 1
 # to load the internationalization machinery.
 USE_I18N = True
 
-# Absolute path to the directory that holds media.
-# Example: "/home/media/media.lawrence.com/"
-MEDIA_ROOT = os.path.abspath('%s/../htdocs/media/' % os.path.dirname(__file__))
+STATIC_ROOT = 'staticfiles'
+STATIC_URL = '/static/'
 
-# URL that handles the media served from MEDIA_ROOT. Make sure to use a
-# trailing slash if there is a path component (optional in other cases).
-# Examples: "http://media.lawrence.com", "http://example.com/media/"
-MEDIA_URL = ''
+STATICFILES_DIRS = (
+    os.path.abspath(os.path.join(BASE_DIR, '..', 'htdocs', 'media')),
+)
 
 # List of callables that know how to import templates from various sources.
 TEMPLATE_LOADERS = (
@@ -135,6 +133,7 @@ INSTALLED_APPS = (
     'django.contrib.contenttypes',  # unused, but tests fail otherwise (?)
     'django.contrib.messages',
     'django.contrib.humanize',
+    'django.contrib.staticfiles',
     'couchdbkit.ext.django',
     'django_couchdb_utils.auth',
     'django_couchdb_utils.sessions',
index 8914b8c..73fabd0 100644 (file)
@@ -1,5 +1,6 @@
 {% load i18n %}
 {% load menu %}
+{% load static %}
 
 <!DOCTYPE html>
 <html lang="en">
@@ -11,7 +12,7 @@
         <meta name="author" content="">
 
         <!-- Le styles -->
-        <link href="/media/css/bootstrap.css" rel="stylesheet">
+        <link href="{% static "css/bootstrap.css" %}" rel="stylesheet">
         <style type="text/css">
             body {
                 padding-top: 60px;
@@ -21,9 +22,9 @@
                 padding: 9px 0;
             }
         </style>
-        <link href="/media/css/bootstrap-responsive.css" rel="stylesheet">
-        <link href="/media/css/font-awesome.css" rel="stylesheet">
-        <link rel="stylesheet" href="/media/screen.css" type="text/css" />
+        <link href="{% static "css/bootstrap-responsive.css" %}" rel="stylesheet">
+        <link href="{% static "css/font-awesome.css" %}" rel="stylesheet">
+        <link rel="stylesheet" href="{% static "screen.css" %}" type="text/css" />
         <link href='http://fonts.googleapis.com/css?family=Source+Sans+Pro:400,700' rel='stylesheet' type='text/css'>
 
         <!-- Le HTML5 shim, for IE6-8 support of HTML5 elements -->
@@ -47,7 +48,7 @@
 
         <div id="logo">
             <a href="/">
-                <img class="visible-desktop" src="/media/gpoddernet_64.png" alt="gpodder.net" />
+                <img class="visible-desktop" src="{% static "gpoddernet_64.png" %}" alt="gpodder.net" />
             </a>
         </div>
 
@@ -59,7 +60,7 @@
                         <span class="icon-bar"></span>
                         <span class="icon-bar"></span>
                     </a>
-                    <a class="brand" href="/"><img id="inline_logo" src="/media/gpoddernet_25.png" alt="gpodder.net" /><span style="padding-left: 65px; padding-right: 10px;" >gpodder.net</span></a>
+                    <a class="brand" href="/"><img id="inline_logo" src="{% static "gpoddernet_25.png" %}" alt="gpodder.net" /><span style="padding-left: 65px; padding-right: 10px;" >gpodder.net</span></a>
                     <div class="btn-group pull-right">
                         {% if user.is_authenticated %}
                         <a class="btn dropdown-toggle" data-toggle="dropdown" href="#">
         <!-- Le javascript
         ================================================== -->
         <!-- Placed at the end of the document so the pages load faster -->
-        <script src="/media/js/jquery.js"></script>
-        <script src="/media/js/bootstrap.js"></script>
+        <script src="{% static "js/jquery.js" %}"></script>
+        <script src="{% static "js/bootstrap.js" %}"></script>
 
         {% block javascript %}{% endblock javascript %}
 
index aa59d48..034852c 100644 (file)
@@ -1,5 +1,6 @@
 {% load i18n %}
 {% load menu %}
+{% load static %}
 
 <!DOCTYPE html>
 <html lang="en">
@@ -11,7 +12,7 @@
     <meta name="author" content="">
 
     <!-- Le styles -->
-    <link href="/media/css/bootstrap.css" rel="stylesheet">
+    <link href="{% static "css/bootstrap.css" %}" rel="stylesheet">
     <style type="text/css">
       body {
         padding-top: 60px;
@@ -21,9 +22,9 @@
         padding: 9px 0;
       }
     </style>
-    <link href="/media/css/bootstrap-responsive.css" rel="stylesheet">
-    <link href="/media/css/font-awesome.css" rel="stylesheet">
-    <link rel="stylesheet" href="/media/screen.css" type="text/css" />
+    <link href="{% static "css/bootstrap-responsive.css" %}" rel="stylesheet">
+    <link href="{% static "css/font-awesome.css" %}" rel="stylesheet">
+    <link rel="stylesheet" href="{% static "screen.css" %}" type="text/css" />
 
     <!-- Le HTML5 shim, for IE6-8 support of HTML5 elements -->
     <!--[if lt IE 9]>
@@ -69,7 +70,7 @@
     <!-- Le javascript
     ================================================== -->
     <!-- Placed at the end of the document so the pages load faster -->
-    <script src="/media/js/jquery.js"></script>
+    <script src="{% static "js/jquery.js" %}"></script>
     {% block javascript %}{% endblock javascript %}
 
   </body>
index 3816b0f..58d574a 100644 (file)
@@ -1,5 +1,6 @@
 {% load i18n %}
 {% load menu %}
+{% load static %}
 
 <!DOCTYPE html>
 <html lang="en">
@@ -11,7 +12,7 @@
         <meta name="author" content="">
 
         <!-- Le styles -->
-        <link href="/media/css/bootstrap.css" rel="stylesheet">
+        <link href="{% static "css/bootstrap.css" %}" rel="stylesheet">
         <style type="text/css">
             body {
                 padding-top: 60px;
@@ -21,9 +22,9 @@
                 padding: 9px 0;
             }
         </style>
-        <link href="/media/css/bootstrap-responsive.css" rel="stylesheet">
-        <link href="/media/css/font-awesome.css" rel="stylesheet">
-        <link rel="stylesheet" href="/media/screen.css" type="text/css" />
+        <link href="{% static "css/bootstrap-responsive.css" %}" rel="stylesheet">
+        <link href="{% static "css/font-awesome.css" %}" rel="stylesheet">
+        <link rel="stylesheet" href="{% static "screen.css" %}" type="text/css" />
         <link href='http://fonts.googleapis.com/css?family=Source+Sans+Pro:400,700' rel='stylesheet' type='text/css'>
 
         <!-- Le HTML5 shim, for IE6-8 support of HTML5 elements -->
@@ -53,7 +54,7 @@
                         <span class="icon-bar"></span>
                         <span class="icon-bar"></span>
                     </a>
-                    <a class="brand" href="/"><img id="inline_logo" src="/media/gpoddernet_25.png" alt="gpodder.net" /><span style="padding-left: 65px; padding-right: 10px;" >gpodder.net</span></a>
+                    <a class="brand" href="/"><img id="inline_logo" src="{% static "gpoddernet_25.png" %}" alt="gpodder.net" /><span style="padding-left: 65px; padding-right: 10px;" >gpodder.net</span></a>
                 <div class="btn-group pull-right">
                     {% if user.is_authenticated %}
                     <a class="btn dropdown-toggle" data-toggle="dropdown" href="#">
                     <div class="span8" id="content">
                         {% block content %}
 
-                        <img style="float: right;" src="/media/gpoddernet_228.png" alt="gpodder.net" />
+                        <img style="float: right;" src="{% static "gpoddernet_228.png" %}" alt="gpodder.net" />
                         <p>
                         gpodder.net is a libre web service that allows you to manage your
                         podcast subscriptions and discover new content. If you use multiple
             <!-- Le javascript
             ================================================== -->
             <!-- Placed at the end of the document so the pages load faster -->
-            <script src="/media/js/jquery.js"></script>
-            <script src="/media/js/bootstrap-dropdown.js"></script>
+            <script src="{% static "js/jquery.js" %}"></script>
+            <script src="{% static "js/bootstrap-dropdown.js" %}"></script>
 
             {% block javascript %}{% endblock javascript %}