widelands-dev team mailing list archive
-
widelands-dev team
-
Mailing list archive
-
Message #15429
[Merge] lp:~widelands-dev/widelands-website/django_staticfiles into lp:widelands-website
kaputtnik has proposed merging lp:~widelands-dev/widelands-website/django_staticfiles into lp:widelands-website.
Commit message:
Implement django's default behavior for static files (css, js, images)
Requested reviews:
Widelands Developers (widelands-dev)
Related bugs:
Bug #1758515 in Widelands Website: "Make static content independent from usercontent"
https://bugs.launchpad.net/widelands-website/+bug/1758515
For more details, see:
https://code.launchpad.net/~widelands-dev/widelands-website/django_staticfiles/+merge/359345
The problem i had when introducing django-star-ratings (https://wl.widelands.org/forum/topic/4389/) was a result of not implementing django's default behavior for static files (css, js, images), which was introduced many versions ago. Modern third party django-apps rely on this default behavior, and this is what had bitten me this time. On the server i have fixed this by configuring local_settings.py. This branch reflects the changes i did on the server, and some other related stuff. As a sideeffect, this solves also this bug :-)
Main concepts of new static files handling:
1. Setting STATIC_ROOT to an absolute path where static files will be collected using the management command 'collectstatic'. This command needs executed if settings.DEBUG=False. 'collectstatic' searches all apps which are in INSTALLED_APPS for a folder called 'static' and copies, or symlink, all of it's content into STATIC_ROOT. https://docs.djangoproject.com/en/1.11/ref/contrib/staticfiles/#collectstatic
2. Different urls for static files and user uploaded files.
3. Use of the 'static' template tag in the templates to refer to static content (this is the main reason why this diff is that big)
Differences to the current state on the server:
1. Using the collectstatic command from this branch collects static files in 'media/static_collected/' (on the server i used 'media/static_foreign', which was a bad name).
Unchanged:
Files uploaded by a user where still uploaded to 'media/[wlmaps|wlprofile|wlimages]'. The name of the link stays unchanged, so 'wlmedia/*'.
Other things:
1. Moved own static files from 'media/' to 'mainpage/static/' or to the app (folder) where it belongs to. I am planning to do the same with the subfolders in 'templates/*' to have all things related to one app in one folder. So working e.g. on some things in pybb, pybb related css is found in 'pybb/static/css/' and templates will be in 'pybb/templates/pybb/*.html'
2. I found also 2 issues if one wants to setup the website from scratch. Those are fixed in https://bazaar.launchpad.net/~widelands-dev/widelands-website/django_staticfiles/revision/514
To get this in:
1. Set website maintenance
2. Remove the contents of 'media/static_foreign' to avoid merge conflicts
3. merge the branch
4. run 'python manage.py collectstatic -l' (the switch '-l' creates symlinks instead of copying the files)
5. Change the url which refers to static content to point to the folder of STATIC_ROOT
6. Unset website maintenance
I will setup the alpha site for testing.
--
Your team Widelands Developers is requested to review the proposed merge of lp:~widelands-dev/widelands-website/django_staticfiles into lp:widelands-website.
=== modified file '.bzrignore'
--- .bzrignore 2018-11-21 17:36:00 +0000
+++ .bzrignore 2018-11-23 20:43:50 +0000
@@ -13,12 +13,4 @@
whoosh_index
media/map_object_info
media/wlhelp
-media/static_foreign/admin
-media/static_foreign/basic.css
-media/static_foreign/black20.png
-media/static_foreign/but1.png
-media/static_foreign/parchment.png
-media/static_foreign/pygments.css
-media/static_foreign/star-ratings
-media/static_foreign/widelands.css
-media/static_foreign/wood.png
+media/static_collected/*
=== modified file 'README.txt'
--- README.txt 2018-05-09 06:02:44 +0000
+++ README.txt 2018-11-23 20:43:50 +0000
@@ -99,6 +99,17 @@
Now everything should work.
+Runnning with DBUG=False
+------------------------
+In case you want to test the site with the setting DEBUG=False, you might
+notice that at least the admin site misses all css. To fix this run:
+
+ $ ./manage.py collectstatic -l
+
+This will create symbolic links (-l) to static contents of third party apps in
+the folder defined by STATIC_ROOT. See:
+https://docs.djangoproject.com/en/dev/ref/contrib/staticfiles/#collectstatic
+
Accessing the website from other machines
-----------------------------------------
=== modified file 'local_settings.py.sample'
--- local_settings.py.sample 2018-10-01 16:01:40 +0000
+++ local_settings.py.sample 2018-11-23 20:43:50 +0000
@@ -8,11 +8,12 @@
import os
import re
-bd = os.getcwd() # Better make this a static path
-
-STATIC_MEDIA_PATH = os.path.join(bd, 'media')
-MEDIA_ROOT = os.path.join(bd, 'media/')
-
+# Base path for content uploaded by users, like avatars, maps or images
+# Better make this a static path
+USER_MEDIA_BASE_PATH = os.getcwd()
+
+# Absolute path where to store files uploaded by users
+MEDIA_ROOT = os.path.join(USER_MEDIA_BASE_PATH, 'media/')
# If you are using the developer version of widelands from Launchpad
# set WIDELANDS_SVN_DIR to the correct path. See also:
@@ -89,7 +90,7 @@
# 'logfile': {
# 'level':'DEBUG',
# 'class':'logging.FileHandler',
-# 'filename': bd + "/log.txt",
+# 'filename': USER_MEDIA_BASE_PATH + "/log.txt",
# },
# },
# 'root': {
=== modified file 'local_urls.py.sample'
--- local_urls.py.sample 2018-05-24 07:23:08 +0000
+++ local_urls.py.sample 2018-11-23 20:43:50 +0000
@@ -6,16 +6,21 @@
# Don't use this file on the server!
local_urlpatterns = [
+ # Files uploaded by users
url(r'^wlmedia/(?P<path>.*)$',
serve,
- {'document_root': settings.STATIC_MEDIA_PATH},
+ {'document_root': settings.MEDIA_ROOT},
name='static_media'),
- url(r'^media/(?P<path>.*)$',
+ # Static files if DEBUG=False. Use the 'collectstatic' command to fetch them
+ url(r'^static/(?P<path>.*)$',
serve,
- {'document_root': settings.STATIC_MEDIA_PATH},
- name='static_media_pybb'),
+ {'document_root': settings.STATIC_ROOT},
+ name='static_media_foreign'),
+ # HTML documentation created by ./manage.py create_docs
url(r'^documentation/(?P<path>.*)$',
serve,
- {'document_root': path.join(settings.STATIC_MEDIA_PATH, 'documentation/html')},
- name='documentation'),
+ {'document_root': path.join(
+ settings.MEDIA_ROOT, 'documentation/html')},
+ name='documentation')
]
+
=== added directory 'mainpage/static'
=== renamed directory 'media/css' => 'mainpage/static/css'
=== renamed file 'media/favicon.ico' => 'mainpage/static/favicon.ico'
=== renamed directory 'media/img' => 'mainpage/static/img'
=== renamed directory 'media/js' => 'mainpage/static/js'
=== removed file 'media/css/register.css'
=== removed file 'media/img/active_star.gif'
Binary files media/img/active_star.gif 2011-07-03 14:00:24 +0000 and media/img/active_star.gif 1970-01-01 00:00:00 +0000 differ
=== removed file 'media/img/passive_star.gif'
Binary files media/img/passive_star.gif 2011-07-03 14:00:24 +0000 and media/img/passive_star.gif 1970-01-01 00:00:00 +0000 differ
=== removed file 'media/js/jquery.sexy-vote.js'
--- media/js/jquery.sexy-vote.js 2017-09-23 08:52:36 +0000
+++ media/js/jquery.sexy-vote.js 1970-01-01 00:00:00 +0000
@@ -1,76 +0,0 @@
-jQuery.fn.sexyVote = function(config) {
- config = config || {};
- var defaults = {
- activeImageSrc: "active_star.gif",
- passiveImageSrc: "passive_star.gif",
- maxScore: 5,
- fn: new Function(),
- messages: [
- "Your vote have been saved.",
- "Very bad",
- "Bad",
- "Good, but could be better",
- "Good enough",
- "Very good"
- ]
- };
-
- config = jQuery.extend(defaults, config);
-
-
-
- return this.each(function() {
- var $container = jQuery(this);
-
- for (var i = 0, num = config.maxScore * 2; i < num; ++i) {
- jQuery("<img />").appendTo($container);
- }
-
- jQuery("<span />").appendTo($container);
-
- $container.find("img:even").
- attr("src", config.passiveImageSrc).
- css({display: "inline"}).
- on("mouseover", function(e) {
- var len = $container.find("img:even").index(e.target) + 1;
-
- $container.find("img:even").slice(0, len).css({display: "none"});
-
- $container.find("img:odd").slice(0, len).css({display: "inline"});
-
- $container.find("span").text(config.messages[len]);
-
-
- }).
- end().
- find("img:odd").
- attr("src", config.activeImageSrc).
- css({display: "none"}).
- on("mouseout", function(e) {
-
- var len = $container.find("img:odd").
- index(e.target) + 1;
-
- $container.find("img:odd")
- .slice(0, len).
- css({display: "none"});
- $container.find("img:even").
- slice(0, len).
- css({display: "inline"});
-
- $container.find("span").
- text("");
-
-
- }).
- on("click", function(e) {
- $container.find("img").
- off("mouseover").
- off("mouseout").
- off("click");
- $container.find("span").
- text(config.messages[0]);
- config.fn.call(this, e, $container.find("img:odd").index(e.target) + 1);
- });
- });
-};
=== added directory 'media/static_collected'
=== removed directory 'media/static_foreign'
=== added directory 'news/static'
=== added directory 'news/static/css'
=== renamed file 'media/css/news.css' => 'news/static/css/news.css'
=== added directory 'notification/static'
=== added directory 'notification/static/css'
=== renamed file 'media/css/notice.css' => 'notification/static/css/notice.css'
=== modified file 'pybb/models.py'
--- pybb/models.py 2018-11-18 10:28:03 +0000
+++ pybb/models.py 2018-11-23 20:43:50 +0000
@@ -220,10 +220,13 @@
self).get_queryset().filter(hidden=True)
hidden_topics = []
- for post in qs:
- if post.topic.is_hidden:
- hidden_topics.append(post.topic)
- return hidden_topics
+ try:
+ for post in qs:
+ if post.topic.is_hidden:
+ hidden_topics.append(post.topic)
+ return hidden_topics
+ except:
+ return []
class Post(RenderableItem):
=== added directory 'pybb/static'
=== added directory 'pybb/static/css'
=== renamed file 'media/css/forum.css' => 'pybb/static/css/forum.css'
=== renamed directory 'media/forum' => 'pybb/static/forum'
=== modified file 'settings.py'
--- settings.py 2018-11-19 17:34:37 +0000
+++ settings.py 2018-11-23 20:43:50 +0000
@@ -48,6 +48,7 @@
# Absolute path to the directory that holds media.
# Example: "/home/media/media.lawrence.com/"
+# Overwritten in local_settings.py
MEDIA_ROOT = ''
# URL that handles the media served from MEDIA_ROOT. Make sure to use a
@@ -55,6 +56,15 @@
# Examples: "http://media.lawrence.com", "http://example.com/media/"
MEDIA_URL = '/wlmedia/'
+# Absoltute path where static files from thirdparty apps will be collected using
+# the command: ./manage.py collectstatic
+STATIC_ROOT = os.path.join(BASE_DIR, 'media/static_collected/')
+
+# URL to use when referring to static files located in STATIC_ROOT.
+# Must be different than MEDIA_URL!
+# https://docs.djangoproject.com/en/1.8/howto/static-files/
+STATIC_URL = '/static/'
+
# Make this unique, and don't share it with anybody.
SECRET_KEY = '#*bc7*q0-br42fc&6l^x@zzk&(=-#gr!)fn@t30n54n05jkqcu'
@@ -63,7 +73,6 @@
# List of finder classes that know how to find static files in
# various locations.
STATICFILES_FINDERS = [
- 'django.contrib.staticfiles.finders.FileSystemFinder',
'django.contrib.staticfiles.finders.AppDirectoriesFinder',
]
@@ -101,7 +110,6 @@
# Modified 3rd party apps
'wiki.apps.WikiConfig', # This is based on wikiapp, but has some local modifications
'news', # This is based on simple-blog, but has some local modifications
- 'news.managers',
'pybb.apps.PybbConfig', # Feature enriched version of pybb
# Thirdparty apps
@@ -149,10 +157,6 @@
},
]
-# Static files (CSS, JavaScript, Images)
-# https://docs.djangoproject.com/en/1.8/howto/static-files/
-STATIC_URL = '/media/'
-
############################
# Activation configuration #
############################
=== modified file 'templates/base.html'
--- templates/base.html 2018-10-15 16:11:43 +0000
+++ templates/base.html 2018-11-23 20:43:50 +0000
@@ -5,6 +5,7 @@
This file is extended by all other files which are not
included here
{% endcomment %}
+{% load static %}
<html lang="en">
<head>
@@ -14,20 +15,20 @@
<meta name="google-site-verification" content="1A5uFV_zNuXazJ46-572-_lLzcCTEQ77iHaSPFZd53Y" />
<title>{% block title %}Widelands.org{% endblock %}</title>
- <link href="{{ MEDIA_URL }}favicon.ico" rel="icon" />
+ <link href="{% static 'favicon.ico' %}" rel="icon" />
<!-- CSS -->
- <link rel="stylesheet" type="text/css" media="all" href="{{ MEDIA_URL }}css/base.css?v1" />
- <link rel="stylesheet" type="text/css" media="all" href="{{ MEDIA_URL }}css/navigation.css" />
+ <link rel="stylesheet" type="text/css" media="all" href="{% static 'css/base.css' %}?v1" />
+ <link rel="stylesheet" type="text/css" media="all" href="{% static 'css/navigation.css' %}" />
<!--[if lt IE 9]>
- <link rel="stylesheet" type="text/css" href="{{ MEDIA_URL }}css/base_ielt9.css" />
+ <link rel="stylesheet" type="text/css" href="{% static 'css/base_ielt9.css' %}" />
<![endif]-->
<!-- Javascript Bread & Butter Scripts -->
- <script type="text/javascript" src="{{ MEDIA_URL }}js/jquery-3.2.1.js"></script>
- <script type="text/javascript" src="{{ MEDIA_URL }}js/jquery-ui.min.js"></script>
- <script type="text/javascript" src="{{ MEDIA_URL }}js/jquery_csrf_ajax.js"></script>
- <script type="text/javascript" src="{{ MEDIA_URL }}js/search.js"></script>
+ <script type="text/javascript" src="{% static 'js/jquery-3.2.1.js' %}"></script>
+ <script type="text/javascript" src="{% static 'js/jquery-ui.min.js' %}"></script>
+ <script type="text/javascript" src="{% static 'js/jquery_csrf_ajax.js' %}"></script>
+ <script type="text/javascript" src="{% static 'js/search.js' %}"></script>
{% block extra_head %}{% endblock %}
</head>
=== modified file 'templates/django_messages/base.html'
--- templates/django_messages/base.html 2018-11-09 07:00:30 +0000
+++ templates/django_messages/base.html 2018-11-23 20:43:50 +0000
@@ -1,9 +1,11 @@
{% extends "wlprofile/base.html" %}
-{% load i18n %}
+{% load i18n %}
+{% load static %}
+
{% block bodyclass %}about{% endblock %}
{% block extra_head %}
- <link rel="stylesheet" type="text/css" media="all" href="{{ MEDIA_URL }}css/messages.css" />
+ <link rel="stylesheet" type="text/css" media="all" href="{% static 'css/messages.css' %}" />
{{ block.super}}{% endblock %}
{% block messages %}class="active"{% endblock %}
=== modified file 'templates/django_messages/inbox.html'
--- templates/django_messages/inbox.html 2018-09-08 09:44:03 +0000
+++ templates/django_messages/inbox.html 2018-11-23 20:43:50 +0000
@@ -2,6 +2,7 @@
{% load i18n %}
{% load custom_date %}
{% load wlprofile_extras %}
+{% load static %}
{% block title %}
Inbox - {{ block.super }}
@@ -25,14 +26,14 @@
<td>{{ message.sender|user_link }}</td>
<td>
{% if message.replied %}
- <img src="{{ MEDIA_URL }}img/replied.png" alt="replied" title="replied" />
+ <img src="{% static 'img/replied.png' %}" alt="replied" title="replied" />
{% endif %}
<a href="{{message.get_absolute_url }}">{{ message.subject }}</a>
</td>
<td>{{ message.sent_at|custom_date:user }}</td>
<td>
<a href="{% url 'messages_delete' message.id %}?next={{ request.path|iriencode }}">
- <img src="{{ MEDIA_URL }}img/delete.png" alt="delete" title="delete" />
+ <img src="{% static 'img/delete.png' %}" alt="delete" title="delete" />
</a>
</td>
</tr>
=== modified file 'templates/django_messages/outbox.html'
--- templates/django_messages/outbox.html 2018-04-11 07:43:01 +0000
+++ templates/django_messages/outbox.html 2018-11-23 20:43:50 +0000
@@ -2,6 +2,7 @@
{% load i18n %}
{% load custom_date %}
{% load wlprofile_extras %}
+{% load static %}
{% block title %}
Outbox - {{ block.super }}
@@ -28,7 +29,7 @@
<td>{{ message.sent_at|custom_date:user }}</td>
<td>
<a href="{% url 'messages_delete' message.id %}?next={{ request.path|iriencode }}">
- <img src="{{ MEDIA_URL }}img/delete.png" alt="delete" title="delete" />
+ <img src="{% static 'img/delete.png' %}" alt="delete" title="delete" />
</a>
</td>
</tr>
=== modified file 'templates/django_messages/trash.html'
--- templates/django_messages/trash.html 2018-04-13 07:31:42 +0000
+++ templates/django_messages/trash.html 2018-11-23 20:43:50 +0000
@@ -2,6 +2,7 @@
{% load i18n %}
{% load custom_date %}
{% load wlprofile_extras %}
+{% load static %}
{% block title %}
Trash - {{ block.super }}
@@ -27,7 +28,7 @@
<td>{{ message.recipient|user_link }}</td>
<td>
{% if message.replied %}
- <img src="{{ MEDIA_URL }}img/replied.png" alt="replied" title="replied" />
+ <img src="{% static 'img/replied.png' %}" alt="replied" title="replied" />
{% endif %}
<a href="{{message.get_absolute_url }}">{{ message.subject }}</a>
</td>
@@ -35,11 +36,11 @@
<td>
{% if message.sender == request.user %}
<a href="{% url 'messages_undelete' message.id %}?next=/messages/outbox/">
- <img src="{{ MEDIA_URL }}img/undelete.png" alt="undelete" title="undelete" />
+ <img src="{% static 'img/undelete.png' %}" alt="undelete" title="undelete" />
</a>
{% else %}
<a href="{% url 'messages_undelete' message.id %}?next=/messages/inbox/">
- <img src="{{ MEDIA_URL }}img/undelete.png" alt="undelete" title="undelete" />
+ <img src="{% static 'img/undelete.png' %}" alt="undelete" title="undelete" />
</a>
{% endif %}
</td>
=== modified file 'templates/header.html'
--- templates/header.html 2018-10-30 14:46:45 +0000
+++ templates/header.html 2018-11-23 20:43:50 +0000
@@ -1,31 +1,32 @@
{% load wlprofile_extras %}
{% load wl_extras %}
+{% load static %}
<div id="logo">
<a href="{% url 'mainpage' %}"><img src=
- "{{ MEDIA_URL }}img/{% wl_logo %}" alt=
+ "{% static 'img/'%}{% wl_logo %}" alt=
"Widelands Logo"></a>
</div>
<ul class="header_boxes">
<li class="small">
<a href="{% url 'wlscreens_index' %}" title="Screenshots">Screenshots<br />
- <img src="{{ MEDIA_URL }}/img/camera.png" alt="Screenshots" />
+ <img src="{% static '/img/camera.png' %}" alt="Screenshots" />
</a>
</li>
<li class="small">
<a href="{% url 'wiki_article' "Download" %}" title="Download">Download<br />
- <img src="{{ MEDIA_URL }}/img/download.png" alt="Get Widelands" />
+ <img src="{% static '/img/download.png' %}" alt="Get Widelands" />
</a>
</li>
<li class="small">
<a href="{% url 'wlmaps_index' %}" title="Get new maps">Maps<br />
- <img src="{{ MEDIA_URL }}img/maps.png" alt="Get Free Maps" />
+ <img src="{% static 'img/maps.png' %}" alt="Get Free Maps" />
</a>
</li>
<li class="small">
<p>Social Media</p>
<a href="https://www.facebook.com/WidelandsOfficial" target="_blank">
- <img src="{{ MEDIA_URL }}img/socialmedia/facebook.png" alt="Facebook" />
+ <img src="{% static 'img/socialmedia/facebook.png' %}" alt="Facebook" />
</a>
</li>
<li class="loginBox small">
=== modified file 'templates/mainpage.html'
--- templates/mainpage.html 2018-10-14 14:20:48 +0000
+++ templates/mainpage.html 2018-11-23 20:43:50 +0000
@@ -7,11 +7,12 @@
they reach our homepage
{% endcomment %}
-
+{% load static %}
{% load news_extras %}
+
{% block extra_head %}
<meta name="google-site-verification" content="1A5uFV_zNuXazJ46-572-_lLzcCTEQ77iHaSPFZd53Y" />
-<link rel="stylesheet" type="text/css" media="all" href="{{ MEDIA_URL }}css/news.css" />
+<link rel="stylesheet" type="text/css" media="all" href="{% static 'css/news.css' %}" />
<link rel="alternate" type="application/rss+xml" title="Widelands News" href="news/feed/" />
{{ block.super}}{% endblock %}
@@ -20,7 +21,7 @@
{% endblock %}
{% block content_main %}
<div class="blogEntry" style="min-height: 380px;">
- <img class="landing posRight" src="{{ MEDIA_URL }}img/welcome.jpg" alt="Welcome!" />
+ <img class="landing posRight" src="{% static 'img/welcome.jpg' %}" alt="Welcome!" />
<p>
<a href="{% url 'wiki_article' "Description" %}">Widelands</a> is a
<a href="{% url 'wiki_article' "The Widelands Project" %}">free, open source</a>
=== modified file 'templates/mainpage/developers.html'
--- templates/mainpage/developers.html 2018-10-14 14:20:48 +0000
+++ templates/mainpage/developers.html 2018-11-23 20:43:50 +0000
@@ -1,9 +1,9 @@
{% extends "base.html" %}
-
+{% load static %}
{% block title %}Widelands Development Team - {{ block.super }}{% endblock %}
{% block extra_head %}
-<link rel="stylesheet" type="text/css" media="all" href="{{ MEDIA_URL }}css/wiki.css" />
+<link rel="stylesheet" type="text/css" media="all" href="{% static 'css/wiki.css' %}" />
{{ block.super}}
{% endblock %}
=== modified file 'templates/news/base_news.html'
--- templates/news/base_news.html 2016-11-18 23:50:23 +0000
+++ templates/news/base_news.html 2018-11-23 20:43:50 +0000
@@ -1,8 +1,9 @@
{% extends "base.html" %}
+{% load static %}
{% block title %}News Archive {% endblock %}
{% block extra_head %}
<link rel="alternate" type="application/rss+xml" title="Widelands News" href="/feeds/news/" />
-<link rel="stylesheet" type="text/css" media="all" href="{{ MEDIA_URL }}css/news.css" />
+<link rel="stylesheet" type="text/css" media="all" href="{% static 'css/news.css' %}" />
{{ block.super}}{% endblock %}
=== modified file 'templates/news/post_detail.html'
--- templates/news/post_detail.html 2018-10-14 14:20:48 +0000
+++ templates/news/post_detail.html 2018-11-23 20:43:50 +0000
@@ -6,13 +6,14 @@
{% load threadedcommentstags %}
+{% load static %}
{% block title %}{{ object.title }} - {{ block.super }}{% endblock %}
{% block extra_head %}
{{ block.super }}
- <link rel="stylesheet" type="text/css" media="all" href="{{ MEDIA_URL }}css/news.css" />
- <link rel="stylesheet" type="text/css" media="all" href="{{ MEDIA_URL }}css/comments.css" />
+ <link rel="stylesheet" type="text/css" media="all" href="{% static 'css/news.css' %}" />
+ <link rel="stylesheet" type="text/css" media="all" href="{% static 'css/comments.css' %}" />
{% endblock %}
{% block content_header %}
=== modified file 'templates/notification/base.html'
--- templates/notification/base.html 2018-10-15 16:11:43 +0000
+++ templates/notification/base.html 2018-11-23 20:43:50 +0000
@@ -1,5 +1,6 @@
{% extends "wlprofile/base.html" %}
+{% load static %}
{% block extra_head %}
- <link rel="stylesheet" type="text/css" media="all" href="{{ MEDIA_URL }}css/notice.css" />{{ block.super}}
+ <link rel="stylesheet" type="text/css" media="all" href="{% static 'css/notice.css' %}" />{{ block.super}}
{% endblock %}
\ No newline at end of file
=== modified file 'templates/privacy_policy.html'
--- templates/privacy_policy.html 2018-10-14 13:24:15 +0000
+++ templates/privacy_policy.html 2018-11-23 20:43:50 +0000
@@ -1,11 +1,11 @@
{% extends "base.html" %}
{% load wl_markdown %}
-
+{% load static %}
{% block title %}Privacy policy {{ cur_lang }} {{ block.super }}{% endblock %}
{% block extra_head %}
{{ block.super}}
-<link rel="stylesheet" type="text/css" media="all" href="{{ MEDIA_URL }}css/wiki.css" />
+<link rel="stylesheet" type="text/css" media="all" href="{% static 'css/wiki.css' %}" />
{% endblock %}
{% block content_header %}
=== modified file 'templates/pybb/base.html'
--- templates/pybb/base.html 2016-04-28 18:33:44 +0000
+++ templates/pybb/base.html 2018-11-23 20:43:50 +0000
@@ -1,12 +1,13 @@
{% extends "base.html" %}
{% load i18n %}
+{% load static %}
{% block title %}
Forum - {{ block.super }}
{% endblock %}
{% block extra_head %}
-<link rel="stylesheet" type="text/css" media="all" href="{{ MEDIA_URL }}css/forum.css" />
+<link rel="stylesheet" type="text/css" media="all" href="{% static 'css/forum.css' %}" />
<link rel="alternate" type="application/atom+xml" title="Latest Posts on all forums" href="{% url 'pybb_feed_posts' %}" />
<link rel="alternate" type="application/atom+xml" title="Latest Topics on all forums" href="{% url 'pybb_feed_topics' %}" />
=== modified file 'templates/pybb/category.html'
--- templates/pybb/category.html 2018-10-14 13:24:15 +0000
+++ templates/pybb/category.html 2018-11-23 20:43:50 +0000
@@ -1,5 +1,6 @@
{% extends 'pybb/base.html' %}
{% load pybb_extras %}
+{% load static %}
{% block content_header %}
<h1>Category: {{category.name}}</h1>
@@ -13,9 +14,9 @@
</div>
<div class="center green">
- <img src="{{ MEDIA_URL }}forum/img/folder_big_work_star.png" style="width: 48px; height:48px; margin: 0px;" alt="" class="middle" />
+ <img src="{% static 'forum/img/folder_big_work_star.png' %}" style="width: 48px; height:48px; margin: 0px;" alt="" class="middle" />
= Unread posts
- <img src="{{ MEDIA_URL }}forum/img/folder_big_work.png" style="width: 48px; height:48px; margin: 0px;" alt="" class="middle" />
+ <img src="{% static 'forum/img/folder_big_work.png' %}" style="width: 48px; height:48px; margin: 0px;" alt="" class="middle" />
= No unread posts
</div>
{% endblock %}
=== modified file 'templates/pybb/forum.html'
--- templates/pybb/forum.html 2018-11-16 08:27:29 +0000
+++ templates/pybb/forum.html 2018-11-23 20:43:50 +0000
@@ -5,6 +5,7 @@
{% load wlprofile_extras %}
{% load custom_date %}
{% load pagination_tags %}
+{% load static %}
{% block extra_head %}
<link rel="alternate" type="application/atom+xml" title="Latest Posts on forum '{{ forum.name }}'" href="{% url 'pybb_feed_posts' %}{{forum.id}}/" />
@@ -54,14 +55,14 @@
{% if not topic.is_hidden %}
<td class="forumIcon center">
{% if topic|pybb_has_unreads:user %}
- <img src="{{ MEDIA_URL }}forum/img/doc_big_work_star.png" style="margin: 0px;" alt="" class="middle" />
+ <img src="{% static 'forum/img/doc_big_work_star.png' %}" style="margin: 0px;" alt="" class="middle" />
{% else %}
- <img src="{{ MEDIA_URL }}forum/img/doc_big_work.png" style="margin: 0px;" alt="" class="middle" />
+ <img src="{% static 'forum/img/doc_big_work.png' %}" style="margin: 0px;" alt="" class="middle" />
{% endif %}
</td>
<td class="forumTitle">
- {% if topic.sticky %}<img src="{{ MEDIA_URL }}forum/img/sticky.png" alt="Sticky" title="Sticky" />{% endif %}
- {% if topic.closed %}<img src="{{ MEDIA_URL }}forum/img/closed.png" alt="Closed" title="Closed" />{% endif %}
+ {% if topic.sticky %}<img src="{% static 'forum/img/sticky.png' %}" alt="Sticky" title="Sticky" />{% endif %}
+ {% if topic.closed %}<img src="{% static 'forum/img/closed.png' %}" alt="Closed" title="Closed" />{% endif %}
<a href="{{ topic.get_absolute_url }}">{{ topic.name }}</a><br />
<span class="small">Created by {{ topic.user|user_link }} on {{ topic.created|custom_date:user }}</span>
</td>
@@ -83,16 +84,16 @@
</tbody>
</table>
<a class="button posRight" href="{% url 'pybb_add_topic' forum.id %}">
- <img src="{{ MEDIA_URL }}forum/img/new_topic.png" alt ="{% trans "New Topic" %}" class="middle" />
+ <img src="{% static 'forum/img/new_topic.png' %}" alt ="{% trans "New Topic" %}" class="middle" />
<span class="middle">{% trans "New Topic" %}</span>
</a>
{% paginate %}
</div>
<div class="center green">
- <img src="{{ MEDIA_URL }}forum/img/doc_big_work_star.png" alt="" class="middle" />
+ <img src="{% static 'forum/img/doc_big_work_star.png' %}" alt="" class="middle" />
= Unread posts
- <img src="{{ MEDIA_URL }}forum/img/doc_big_work.png" alt="" class="middle" />
+ <img src="{% static 'forum/img/doc_big_work.png' %}" alt="" class="middle" />
= No unread posts
</div>
{% endblock %}
=== modified file 'templates/pybb/index.html'
--- templates/pybb/index.html 2018-10-14 13:24:15 +0000
+++ templates/pybb/index.html 2018-11-23 20:43:50 +0000
@@ -1,5 +1,6 @@
{% extends 'pybb/base.html' %}
{% load pybb_extras %}
+{% load static %}
{% block content_header %}
<h1>Forums</h1>
@@ -14,9 +15,9 @@
{% endfor %}
<div class="center green">
- <img src="{{ MEDIA_URL }}forum/img/folder_big_work_star.png" style="width: 48px; height:48px; margin: 0px;" alt="" class="middle" />
+ <img src="{% static 'forum/img/folder_big_work_star.png' %}" style="width: 48px; height:48px; margin: 0px;" alt="" class="middle" />
= Unread posts
- <img src="{{ MEDIA_URL }}forum/img/folder_big_work.png" style="width: 48px; height:48px; margin: 0px;" alt="" class="middle" />
+ <img src="{% static 'forum/img/folder_big_work.png' %}" style="width: 48px; height:48px; margin: 0px;" alt="" class="middle" />
= No unread posts
</div>
@@ -24,20 +25,20 @@
<table class="legend">
<tr>
<td>
- <img src="{{ MEDIA_URL }}forum/img/folder_new_big.png" style="width: 48px; height:48px; margin: 0px;" alt="" align="middle" />
+ <img src="{% static 'forum/img/folder_new_big.png' %}" style="width: 48px; height:48px; margin: 0px;" alt="" align="middle" />
</td>
<td>= Unread posts</td>
<td>
- <img src="{{ MEDIA_URL }}forum/img/folder_big.png" style="width: 48px; height:48px; margin: 0px;" alt="" align="middle" />
+ <img src="{% static 'forum/img/folder_big.png' %}" style="width: 48px; height:48px; margin: 0px;" alt="" align="middle" />
</td><td>= No unread posts</td>
</tr>
<tr>
<td>
- <img src="{{ MEDIA_URL }}forum/img/folder_locked_big.png" style="width: 48px; height:48px; margin: 0px;" alt="" align="middle" />
+ <img src="{% static 'forum/img/folder_locked_big.png' %}" style="width: 48px; height:48px; margin: 0px;" alt="" align="middle" />
</td><td>= Locked topic</td>
<td>
- <img src="{{ MEDIA_URL }}forum/img/folder_new_locked_big.png" style="width: 48px; height:48px; margin: 0px;" alt="" align="middle" />
+ <img src="{% static 'forum/img/folder_new_locked_big.png' %}" style="width: 48px; height:48px; margin: 0px;" alt="" align="middle" />
</td><td>= Unread posts in locked topic</td>
</tr>
</table>
=== modified file 'templates/pybb/inlines/display_category.html'
--- templates/pybb/inlines/display_category.html 2018-11-17 10:51:02 +0000
+++ templates/pybb/inlines/display_category.html 2018-11-23 20:43:50 +0000
@@ -8,6 +8,7 @@
{% load pybb_extras %}
{% load wlprofile_extras %}
{% load custom_date %}
+{% load static %}
<table class="forum">
{# List all forums #}
@@ -15,9 +16,9 @@
<tr class="{% cycle 'odd' 'even' %}">
<td class="forumIcon center">
{% if forum|pybb_has_unreads:user %}
- <img src="{{ MEDIA_URL }}forum/img/folder_big_work_star.png" style="width: 48px; height:48px; margin: 0px;" alt="" />
+ <img src="{% static 'forum/img/folder_big_work_star.png' %}" style="width: 48px; height:48px; margin: 0px;" alt="" />
{% else %}
- <img src="{{ MEDIA_URL }}forum/img/folder_big_work.png" style="width: 48px; height:48px; margin: 0px;" alt="" />
+ <img src="{% static 'forum/img/folder_big_work.png' %}" style="width: 48px; height:48px; margin: 0px;" alt="" />
{% endif %}
</td>
<td class="forumTitle">
@@ -30,15 +31,15 @@
Posts: {{ forum.posts.count }}
</td>
<td class="lastPost">
- {% with last_post=forum.last_post %}
{% if last_post %}
- <a href="{{last_post.get_absolute_url}}">{{ last_post.topic.name }}</a><br />
- <span class="small">by {{ last_post.user|user_link }}<br />
- on {{ last_post.created|custom_date:user}}</span>
+ {% with last_post=forum.last_post %}
+ <a href="{{last_post.get_absolute_url}}">{{ last_post.topic.name }} öhm</a><br />
+ <span class="small">by {{ last_post.user|user_link }}<br />
+ on {{ last_post.created|custom_date:user}}</span>
+ {% endwith %}
{% else %}
{% endif %}
- {% endwith %}
</td>
</tr>
{% endfor %}
=== modified file 'templates/pybb/inlines/forum_row.html'
--- templates/pybb/inlines/forum_row.html 2017-01-21 19:06:19 +0000
+++ templates/pybb/inlines/forum_row.html 2018-11-23 20:43:50 +0000
@@ -5,12 +5,14 @@
{% load pybb_extras %}
{% load wlprofile_extras %}
{% load custom_date %}
+{% load static %}
+
<tr>
<td class="even" align="center" valign="middle">
{% if forum|pybb_has_unreads:user %}
- <img src="{{ MEDIA_URL }}forum/img/folder_new_big.png" style="width: 48px; height:48px; margin: 0px;" alt="" align="middle" />
+ <img src="{% static 'forum/img/folder_new_big.png' %}" style="width: 48px; height:48px; margin: 0px;" alt="" align="middle" />
{% else %}
- <img src="{{ MEDIA_URL }}forum/img/folder_big.png" style="width: 48px; height:48px; margin: 0px;" alt="" align="middle" />
+ <img src="{% static 'forum/img/folder_big.png' %}" style="width: 48px; height:48px; margin: 0px;" alt="" align="middle" />
{% endif %}
</td>
<td class="odd">
=== modified file 'templates/pybb/inlines/post.html'
--- templates/pybb/inlines/post.html 2017-11-01 15:51:57 +0000
+++ templates/pybb/inlines/post.html 2018-11-23 20:43:50 +0000
@@ -8,6 +8,7 @@
{% load wiki_extras %}
{% load wlprofile_extras %}
{% load custom_date %}
+{% load static %}
<a name="post-{{ post.id }}"></a>
<table class="{% cycle "odd" "even" %}" width="100%">
<tr>
@@ -17,7 +18,7 @@
<tr>
<td style="text-align: left; border: 0px;">
<a href="{{post.get_absolute_url}}">
- <img src="{{ MEDIA_URL }}forum/img/en/permalink.png" height="25" alt ="{% trans "Permalink" %}" />
+ <img src="{% static 'forum/img/en/permalink.png' %}" height="25" alt ="{% trans "Permalink" %}" />
</a>
</td>
<td style="text-align: right; border: 0px;">
@@ -39,7 +40,7 @@
{% endif %}
<strong>Joined:</strong> {{ post.user.date_joined|custom_date:user|title }}<br />
<strong>Posts:</strong> {{ post.user.wlprofile.post_count }}<br />
- <img src="{{ MEDIA_URL }}img/{{ post.user.wlprofile.user_status.image }}" alt="Ranking" />
+ <img src="{% static 'img/{{ post.user.wlprofile.user_status.image }}" alt="Ranking" />
<br />
<strong>{{ post.user.wlprofile.user_status.text }}</strong><br />
{% if post.user.wlprofile.location %}
@@ -80,7 +81,7 @@
<tr>
<td class="toplink">
<a href="#top">
- <img src="{{ MEDIA_URL }}forum/img/en/top.png" height="25" alt ="{% trans "Top" %}" />
+ <img src="{% static 'forum/img/en/top.png' %}" height="25" alt ="{% trans "Top" %}" />
</a>
</td>
@@ -89,25 +90,25 @@
{% if user.is_authenticated %}
{% ifnotequal user post.user %}
<a href="{% url 'messages_compose_to' post.user %}">
- <img src="{{ MEDIA_URL }}forum/img/en/send_pm.png" height="25" alt ="{% trans "Send PM" %}" />
+ <img src="{% static 'forum/img/en/send_pm.png' %}" height="25" alt ="{% trans "Send PM" %}" />
</a>
{% endifnotequal %}
{% endif %}
{% if moderator or post|pybb_posted_by:user %}
<a href="{% url 'pybb_edit_post' post.id %}">
- <img src="{{ MEDIA_URL }}forum/img/en/edit.png" height="25" alt ="{% trans "Edit" %}" />
+ <img src="{% static 'forum/img/en/edit.png' %}" height="25" alt ="{% trans "Edit" %}" />
</a>
{% endif %}
{% if moderator or post|pybb_equal_to:last_post %}
{% if moderator or post.user|pybb_equal_to:user %}
<a href="{% url 'pybb_delete_post' post.id %}">
- <img src="{{ MEDIA_URL }}forum/img/en/delete.png" height="25" alt ="{% trans "Delete" %}" />
+ <img src="{% static 'forum/img/en/delete.png' %}" height="25" alt ="{% trans "Delete" %}" />
</a>
{% endif %}
</div>
<div class="tools" style="float: right;">
<a href="{% url 'pybb_add_post' topic.id %}?quote_id={{ post.id }}">
- <img src="{{ MEDIA_URL }}forum/img/en/quote.png" height="25" alt ="{% trans "Quote" %}" />
+ <img src="{% static 'forum/img/en/quote.png' %}" height="25" alt ="{% trans "Quote" %}" />
</a>
{% endif %}
</div>
=== modified file 'templates/pybb/inlines/topic_row.html'
--- templates/pybb/inlines/topic_row.html 2016-03-02 21:02:38 +0000
+++ templates/pybb/inlines/topic_row.html 2018-11-23 20:43:50 +0000
@@ -5,12 +5,14 @@
{% load pybb_extras %}
{% load wlprofile_extras %}
{% load custom_date %}
+{% load static %}
+
<tr class="topic_description {% cycle "odd" "even" %}">
<td align="center" valign="middle">
{% if topic|pybb_has_unreads:user %}
- <img src="{{ MEDIA_URL }}forum/img/folder_new.png" style="margin: 0px;" alt="" align="middle" />
+ <img src="{% static 'forum/img/folder_new.png' %}" style="margin: 0px;" alt="" align="middle" />
{% else %}
- <img src="{{ MEDIA_URL }}forum/img/folder.png" style="margin: 0px;" alt="" align="middle" />
+ <img src="{% static 'forum/img/folder.png' %}" style="margin: 0px;" alt="" align="middle" />
{% endif %}
</td>
<td id="name">
@@ -19,9 +21,9 @@
{% comment %}
oehm ja, geht nicht weil ka muss ich guggn, die frage ist. soll es fuer alle gelten oder nur fuer eine topic
{% endcomment %}
- {% if subscribed %}<img src="{{ MEDIA_URL }}forum/img/en/subscribe_small.png" height="20" alt="subscribe" style="float:left" />{% endif %}
- {% if topic.sticky %}<img src="{{ MEDIA_URL }}forum/img/en/stick_topic_small.png" height="20" alt ="Sticky" style="float:left;" /> {% endif %}
- {% if topic.closed %}<img src="{{ MEDIA_URL }}forum/img/en/close_small.png" height="20" alt ="Closed" style="float:left; " /> {% endif %}
+ {% if subscribed %}<img src="{% static 'forum/img/en/subscribe_small.png' %}" height="20" alt="subscribe" style="float:left" />{% endif %}
+ {% if topic.sticky %}<img src="{% static 'forum/img/en/stick_topic_small.png' %}" height="20" alt ="Sticky" style="float:left;" /> {% endif %}
+ {% if topic.closed %}<img src="{% static 'forum/img/en/close_small.png' %}" height="20" alt ="Closed" style="float:left; " /> {% endif %}
{{ topic.name }}
</a>
</span>
=== modified file 'templates/pybb/post_form.html'
--- templates/pybb/post_form.html 2016-04-24 19:30:03 +0000
+++ templates/pybb/post_form.html 2018-11-23 20:43:50 +0000
@@ -1,4 +1,5 @@
{% load i18n %}
+{% load static %}
{% comment %}
This template is used to prevent using same code
@@ -6,7 +7,7 @@
{% endcomment %}
{% block extra_head %}
-<script type="text/javascript" src="{{ MEDIA_URL }}js/disableOnSubmit.js"></script>
+<script type="text/javascript" src="{% static 'js/disableOnSubmit.js' %}"></script>
<script type="text/javascript">
$(function() {
$('form').disableOnSubmit();
@@ -45,7 +46,7 @@
<div class="posRight">
<a href="/wiki/WikiSyntax" title="Opens new Tab/Window" target="_blank">
- <img src="{{ MEDIA_URL }}img/menu_help.png" alt="Help on Syntax" class="middle">
+ <img src="{% static 'img/menu_help.png' %}" alt="Help on Syntax" class="middle">
Help on Syntax
</a>
</div>
@@ -54,11 +55,11 @@
{{ form.as_p }}
{% csrf_token %}
<button type="submit">
- <img src="{{ MEDIA_URL }}forum/img/send.png" alt ="" class="middle" />
+ <img src="{% static 'forum/img/send.png' %}" alt ="" class="middle" />
<span class="middle">{% trans "Send" %}</span>
</button>
<button type="button" class="preview-button">
- <img src="{{ MEDIA_URL }}forum/img/preview.png" alt ="" class="middle" />
+ <img src="{% static 'forum/img/preview.png' %}" alt ="" class="middle" />
<span class="middle">{% trans "Preview" %}</span>
</button>
</form>
=== modified file 'templates/pybb/topic.html'
--- templates/pybb/topic.html 2018-11-18 10:28:03 +0000
+++ templates/pybb/topic.html 2018-11-23 20:43:50 +0000
@@ -6,6 +6,7 @@
{% load wlprofile_extras %}
{% load custom_date %}
{% load pagination_tags %}
+{% load static %}
{% block title %}
{{ topic.name }} - {{ topic.forum.name }} - {{ block.super }}
@@ -38,7 +39,7 @@
<div class="posRight">
{% if moderator %}
<a class="button" href="{% url 'pybb_toggle_hid_topic' topic.id %}">
- <img src="{{ MEDIA_URL }}forum/img/topic_show.png" alt ="" class="middle" />
+ <img src="{% static 'forum/img/topic_show.png' %}" alt ="" class="middle" />
<span class="middle">{% trans "Toggle Visibility" %}</span>
</a>
{% endif %}
@@ -46,28 +47,28 @@
<div class="posRight">
{% if moderator %}
<a class="button" href="{% url 'pybb_toggle_hid_topic' topic.id %}">
- <img src="{{ MEDIA_URL }}forum/img/topic_hide.png" alt ="" class="middle" />
+ <img src="{% static 'forum/img/topic_hide.png' %}" alt ="" class="middle" />
<span class="middle">{% trans "Toggle Visibility" %}</span>
</a>
{% if topic.sticky %}
<a class="button" href="{% url 'pybb_unstick_topic' topic.id %}">
- <img src="{{ MEDIA_URL }}forum/img/unstick.png" alt ="" class="middle" />
+ <img src="{% static 'forum/img/unstick.png' %}" alt ="" class="middle" />
<span class="middle">{% trans "Unstick Topic" %}</span>
</a>
{% else %}
<a class="button" href="{% url 'pybb_stick_topic' topic.id %}">
- <img src="{{ MEDIA_URL }}forum/img/sticky.png" alt ="" class="middle" />
+ <img src="{% static 'forum/img/sticky.png' %}" alt ="" class="middle" />
<span class="middle">{% trans "Stick Topic" %}</span>
</a>
{% endif %}
{% if topic.closed %}
<a class="button" href="{% url 'pybb_open_topic' topic.id %}">
- <img src="{{ MEDIA_URL }}forum/img/open.png" alt ="" class="middle" />
+ <img src="{% static 'forum/img/open.png' %}" alt ="" class="middle" />
<span class="middle">{% trans "Open Topic" %}</span>
</a>
{% else %}
<a class="button" href="{% url 'pybb_close_topic' topic.id %}">
- <img src="{{ MEDIA_URL }}forum/img/closed.png" alt ="" class="middle" />
+ <img src="{% static 'forum/img/closed.png' %}" alt ="" class="middle" />
<span class="middle">{% trans "Close Topic" %}</span>
</a>
{% endif %}
@@ -75,17 +76,17 @@
{% if user.is_authenticated %}
{% if subscribed %}
<a class="button" href="{% url 'pybb_delete_subscription' topic.id %}?from_topic">
- <img src="{{ MEDIA_URL }}forum/img/unsubscribe.png" alt ="" class="middle" />
+ <img src="{% static 'forum/img/unsubscribe.png' %}" alt ="" class="middle" />
<span class="middle">{% trans "Unsubscribe" %}</span>
</a>
{% else %}
<a class="button" href="{% url 'pybb_add_subscription' topic.id %}">
- <img src="{{ MEDIA_URL }}forum/img/subscribe.png" alt ="" class="middle" />
+ <img src="{% static 'forum/img/subscribe.png' %}" alt ="" class="middle" />
<span class="middle">{% trans "Subscribe" %}</span>
</a>
{% endif %}
<a class="button" href="{% url 'pybb_add_post' topic.id %}">
- <img src="{{ MEDIA_URL }}forum/img/send.png" alt ="" class="middle" />
+ <img src="{% static 'forum/img/send.png' %}" alt ="" class="middle" />
<span class="middle">{% trans "New Reply" %}</span>
</a>
{% endif %}
@@ -110,7 +111,7 @@
<div class="authorStats">
<strong>Joined:</strong> {{ post.user.date_joined|custom_date:user|title }}<br />
<strong>Posts:</strong> {{ post.user.wlprofile.post_count }}<br />
- <img src="{{ MEDIA_URL }}img/{{ post.user.wlprofile.user_status.image }}" alt="Ranking" /><br />
+ <img src="{% static 'img/' %}{{ post.user.wlprofile.user_status.image }}" alt="Ranking" /><br />
<strong>{{ post.user.wlprofile.user_status.text }}</strong><br />
{% if post.user.wlprofile.location %}
<strong>Location:</strong> {{ post.user.wlprofile.location }}<br />
@@ -148,22 +149,22 @@
{% endif %}
<button onclick="window.location.href='#top';" class="posRight">
- <img src="{{ MEDIA_URL }}forum/img/top.png" alt ="" class="middle" />
+ <img src="{% static 'forum/img/top.png' %}" alt ="" class="middle" />
<span class="middle">{% trans "Top" %}</span>
</button>
<button onclick="window.location.href='{% url 'pybb_add_post' topic.id %}?quote_id={{ post.id }}';">
- <img src="{{ MEDIA_URL }}forum/img/quote.png" alt ="" class="middle" />
+ <img src="{% static 'forum/img/quote.png' %}" alt ="" class="middle" />
<span class="middle">{% trans "Quote" %}</span>
</button>
{% if moderator or post|pybb_posted_by:user %}
<button onclick="window.location.href='{% url 'pybb_edit_post' post.id %}';">
- <img src="{{ MEDIA_URL }}forum/img/edit.png" alt ="" class="middle" />
+ <img src="{% static 'forum/img/edit.png' %}" alt ="" class="middle" />
<span class="middle">{% trans "Edit" %}</span>
</button>
{% if moderator or post|pybb_equal_to:last_post %}
<button onclick="window.location.href='{% url 'pybb_delete_post' post.id %}';">
- <img src="{{ MEDIA_URL }}forum/img/delete.png" alt ="" class="middle" />
+ <img src="{% static 'forum/img/delete.png' %}" alt ="" class="middle" />
<span class="middle">{% trans "Delete" %}</span>
</button>
{% endif %}
@@ -195,7 +196,7 @@
<div class="authorStats">
<strong>Joined:</strong> {{ post.user.date_joined|custom_date:user|title }}<br />
<strong>Posts:</strong> {{ post.user.wlprofile.post_count }}<br />
- <img src="{{ MEDIA_URL }}img/{{ post.user.wlprofile.user_status.image }}" alt="Ranking" /><br />
+ <img src="{% static 'img/'%}{{ post.user.wlprofile.user_status.image }}" alt="Ranking" /><br />
<strong>{{ post.user.wlprofile.user_status.text }}</strong><br />
{% if post.user.wlprofile.location %}
<strong>Location:</strong> {{ post.user.wlprofile.location }}<br />
@@ -233,22 +234,22 @@
{% endif %}
<a class="button posRight" href="#top">
- <img src="{{ MEDIA_URL }}forum/img/top.png" alt ="" class="middle" />
+ <img src="{% static 'forum/img/top.png' %}" alt ="" class="middle" />
<span class="middle">{% trans "Top" %}</span>
</a>
<a class="button" href="{% url 'pybb_add_post' topic.id %}?quote_id={{ post.id }}">
- <img src="{{ MEDIA_URL }}forum/img/quote.png" alt ="" class="middle" />
+ <img src="{% static 'forum/img/quote.png' %}" alt ="" class="middle" />
<span class="middle">{% trans "Quote" %}</span>
</a>
{% if moderator or post|pybb_posted_by:user %}
<a class="button" href="{% url 'pybb_edit_post' post.id %}">
- <img src="{{ MEDIA_URL }}forum/img/edit.png" alt ="" class="middle" />
+ <img src="{% static 'forum/img/edit.png' %}" alt ="" class="middle" />
<span class="middle">{% trans "Edit" %}</span>
</a>
{% if moderator or post|pybb_equal_to:last_post %}
<a class="button" href="{% url 'pybb_delete_post' post.id %}">
- <img src="{{ MEDIA_URL }}forum/img/delete.png" alt ="" class="middle" />
+ <img src="{% static 'forum/img/delete.png' %}" alt ="" class="middle" />
<span class="middle">{% trans "Delete" %}</span>
</a>
{% endif %}
@@ -269,28 +270,28 @@
<div class="posRight">
{% if moderator %}
<a class="button" href="{% url 'pybb_toggle_hid_topic' topic.id %}">
- <img src="{{ MEDIA_URL }}forum/img/topic_hide.png" alt ="" class="middle" />
+ <img src="{% static 'forum/img/topic_hide.png' %}" alt ="" class="middle" />
<span class="middle">{% trans "Toggle Visibility" %}</span>
</a>
{% if topic.sticky %}
<a class="button" href="{% url 'pybb_unstick_topic' topic.id %}">
- <img src="{{ MEDIA_URL }}forum/img/unstick.png" alt ="" class="middle" />
+ <img src="{% static 'forum/img/unstick.png' %}" alt ="" class="middle" />
<span class="middle">{% trans "Unstick Topic" %}</span>
</a>
{% else %}
<a class="button" href="{% url 'pybb_stick_topic' topic.id %}">
- <img src="{{ MEDIA_URL }}forum/img/sticky.png" alt ="" class="middle" />
+ <img src="{% static 'forum/img/sticky.png' %}" alt ="" class="middle" />
<span class="middle">{% trans "Stick Topic" %}</span>
</a>
{% endif %}
{% if topic.closed %}
<a class="button" href="{% url 'pybb_open_topic' topic.id %}">
- <img src="{{ MEDIA_URL }}forum/img/open.png" alt ="" class="middle" />
+ <img src="{% static 'forum/img/open.png' %}" alt ="" class="middle" />
<span class="middle">{% trans "Open Topic" %}</span>
</a>
{% else %}
<a class="button" href="{% url 'pybb_close_topic' topic.id %}">
- <img src="{{ MEDIA_URL }}forum/img/closed.png" alt ="" class="middle" />
+ <img src="{% static 'forum/img/closed.png' %}" alt ="" class="middle" />
<span class="middle">{% trans "Close Topic" %}</span>
</a>
{% endif %}
@@ -298,17 +299,17 @@
{% if user.is_authenticated %}
{% if subscribed %}
<a class="button" href="{% url 'pybb_delete_subscription' topic.id %}?from_topic">
- <img src="{{ MEDIA_URL }}forum/img/unsubscribe.png" alt ="" class="middle" />
+ <img src="{% static 'forum/img/unsubscribe.png' %}" alt ="" class="middle" />
<span class="middle">{% trans "Unsubscribe" %}</span>
</a>
{% else %}
<a class="button" href="{% url 'pybb_add_subscription' topic.id %}">
- <img src="{{ MEDIA_URL }}forum/img/subscribe.png" alt ="" class="middle" />
+ <img src="{% static 'forum/img/subscribe.png' %}" alt ="" class="middle" />
<span class="middle">{% trans "Subscribe" %}</span>
</a>
{% endif %}
<a class="button" href="{% url 'pybb_add_post' topic.id %}">
- <img src="{{ MEDIA_URL }}forum/img/send.png" alt ="" class="middle" />
+ <img src="{% static 'forum/img/send.png' %}" alt ="" class="middle" />
<span class="middle">{% trans "New Reply" %}</span>
</a>
{% endif %}
=== modified file 'templates/registration/base.html'
--- templates/registration/base.html 2016-06-03 14:22:24 +0000
+++ templates/registration/base.html 2018-11-23 20:43:50 +0000
@@ -4,6 +4,5 @@
{% endcomment %}
{% block extra_head %}
-<link rel="stylesheet" type="text/css" media="all" href="{{ MEDIA_URL }}css/register.css" />{{ block.super}}
<script src="https://www.google.com/recaptcha/api.js" async defer></script>
{% endblock %}
=== modified file 'templates/search/search.html'
--- templates/search/search.html 2018-10-14 13:24:15 +0000
+++ templates/search/search.html 2018-11-23 20:43:50 +0000
@@ -1,8 +1,9 @@
{% extends 'base.html' %}
{% load custom_date %}
+{% load static %}
{% block extra_head %}
-<link rel="stylesheet" type="text/css" media="all" href="{{ MEDIA_URL }}css/search.css" />
+<link rel="stylesheet" type="text/css" media="all" href="{% static 'css/search.css' %}" />
{{block.super}}
{% endblock %}
=== modified file 'templates/threadedcomments/preview_comment.html'
--- templates/threadedcomments/preview_comment.html 2018-10-14 14:20:48 +0000
+++ templates/threadedcomments/preview_comment.html 2018-11-23 20:43:50 +0000
@@ -1,10 +1,11 @@
{% extends "base.html" %}
{% load threadedcommentstags %}
+{% load static %}
{% block extra_head %}
{{ block.super }}
-<link rel="stylesheet" type="text/css" media="all" href="{{ MEDIA_URL }}css/comments.css" />
+<link rel="stylesheet" type="text/css" media="all" href="{% static 'css/comments.css' %}" />
{% endblock %}
{% block content_header %}
=== modified file 'templates/wiki/base.html'
--- templates/wiki/base.html 2018-06-03 15:33:37 +0000
+++ templates/wiki/base.html 2018-11-23 20:43:50 +0000
@@ -1,5 +1,6 @@
{% extends "base.html" %}
{% load i18n %}
+{% load static %}
{% block title %}
Wiki - {{ block.super }}
@@ -9,7 +10,7 @@
{{ block.super}}
<link rel="alternate" type="application/rss+xml" title="Wiki History (RSS)" href="{% url 'wiki_history_feed_rss' %}" />
<link rel="alternate" type="application/atom+xml" title="Wiki History (Atom)" href="{% url 'wiki_history_feed_atom' %}" />
-<link rel="stylesheet" type="text/css" media="all" href="{{ MEDIA_URL }}css/wiki.css" />
+<link rel="stylesheet" type="text/css" media="all" href="{% static 'css/wiki.css' %}" />
{% endblock %}
{# Define all(!) tabs for the wiki here (all in one place).
=== modified file 'templates/wiki/edit.html'
--- templates/wiki/edit.html 2018-10-09 18:23:07 +0000
+++ templates/wiki/edit.html 2018-11-23 20:43:50 +0000
@@ -1,13 +1,14 @@
{% extends 'wiki/base.html' %}
{% load i18n %}
{% load wlimages_extras %}
+{% load static %}
{% block title %}
{% trans "Editing" %} {{ article.title }} - {{ block.super }}
{% endblock %}
{% block extra_head %}
-<script type="text/javascript" src="{{ MEDIA_URL }}js/disableOnSubmit.js"></script>
+<script type="text/javascript" src="{% static 'js/disableOnSubmit.js' %}"></script>
<script type="text/javascript">
$(function() {
$('form').disableOnSubmit();
=== modified file 'templates/wlhelp/base.html'
--- templates/wlhelp/base.html 2018-03-09 12:12:02 +0000
+++ templates/wlhelp/base.html 2018-11-23 20:43:50 +0000
@@ -1,11 +1,12 @@
{% extends "base.html" %}
+{% load static %}
{% block title %}
Encyclopedia - {{ block.super }}
{% endblock %}
{% block extra_head %}
- <link rel="stylesheet" type="text/css" media="all" href="{{ MEDIA_URL }}css/encyclopedia.css" />
- <script src="{{ MEDIA_URL }}js/encyclopedia.js"></script>
+ <link rel="stylesheet" type="text/css" media="all" href="{% static 'css/encyclopedia.css' %}" />
+ <script src="{% static 'js/encyclopedia.js' %}"></script>
{{ block.super}}
{% endblock %}
\ No newline at end of file
=== modified file 'templates/wlmaps/base.html'
--- templates/wlmaps/base.html 2018-11-21 06:21:45 +0000
+++ templates/wlmaps/base.html 2018-11-23 20:43:50 +0000
@@ -5,8 +5,8 @@
{% endcomment %}
{% block extra_head %}
-<link rel="stylesheet" type="text/css" media="all" href="{{ MEDIA_URL }}css/forum.css" />
-<link rel="stylesheet" type="text/css" media="all" href="{{ MEDIA_URL }}css/maps.css" />
+<link rel="stylesheet" type="text/css" media="all" href="{% static 'css/forum.css' %}" />
+<link rel="stylesheet" type="text/css" media="all" href="{% static 'css/maps.css' %}" />
<link rel="stylesheet" href="{% static 'star-ratings/css/star-ratings.css' %}" />
<script type="text/javascript" src="{% static 'star-ratings/js/dist/star-ratings.min.js' %}"></script>
{{block.super}}
=== modified file 'templates/wlmaps/edit_comment.html'
--- templates/wlmaps/edit_comment.html 2018-10-14 13:24:15 +0000
+++ templates/wlmaps/edit_comment.html 2018-11-23 20:43:50 +0000
@@ -1,4 +1,5 @@
{% extends "wlmaps/base.html" %}
+{% load static %}
{% block content_header %}
<h1>Edit comment: {{ map.name }}</h1>
@@ -10,7 +11,7 @@
{{ form.uploader_comment.label_tag }}
<span class="posRight">
<a href="/wiki/WikiSyntax" title="Opens new Tab/Window" target="_blank">
- <img src="{{ MEDIA_URL }}img/menu_help.png" alt="Help on Syntax" class="middle">
+ <img src="{% static 'img/menu_help.png' %}" alt="Help on Syntax" class="middle">
Help on Syntax
</a>
</span>
@@ -21,7 +22,7 @@
{% endif %}
{% csrf_token %}
<button type="submit">
- <img src="{{ MEDIA_URL }}forum/img/send.png" alt ="Submit" class="middle" />
+ <img src="{% static 'forum/img/send.png' %}" alt ="Submit" class="middle" />
<span class="middle">Submit</span>
</button>
</form>
=== modified file 'templates/wlmaps/index.html'
--- templates/wlmaps/index.html 2018-11-18 17:03:56 +0000
+++ templates/wlmaps/index.html 2018-11-23 20:43:50 +0000
@@ -8,6 +8,7 @@
{% load threadedcommentstags %}
{% load pagination_tags %}
{% load ratings %}
+{% load static %}
{% block content_header %}
<h1>Maps</h1>
@@ -82,7 +83,7 @@
<td class="spacer"></td>
<td colspan="2">
<a class="button" href="{% url 'wlmaps_download' map.slug %}">
- <img src="{{ MEDIA_URL }}img/arrow_down_short.png" alt ="" class="middle" />
+ <img src="{% static 'img/arrow_down_short.png' %}" alt ="" class="middle" />
<span class="middle">Direct Download</span>
</a>
</td>
=== modified file 'templates/wlmaps/map_detail.html'
--- templates/wlmaps/map_detail.html 2018-11-18 17:22:39 +0000
+++ templates/wlmaps/map_detail.html 2018-11-23 20:43:50 +0000
@@ -8,12 +8,13 @@
{% load threadedcommentstags %}
{% load wl_markdown %}
{% load ratings %}
+{% load static %}
{% block title %}{{ map.name }} - {{ block.super }}{% endblock %}
{% block extra_head %}
{{ block.super }}
- <link rel="stylesheet" type="text/css" media="all" href="{{ MEDIA_URL }}css/comments.css" />
+ <link rel="stylesheet" type="text/css" media="all" href="{% static 'css/comments.css' %}" />
{% endblock %}
{% block content_header %}
@@ -41,7 +42,7 @@
<div>{{ map.uploader_comment|wl_markdown:"bleachit" }}</div>
{% if user == map.uploader %}
<a class="button posLeft" href="{% url 'wlmaps_edit_comment' map.slug %}">
- <img alt="Edit" title="Edit your comment" class="middle" src="{{ MEDIA_URL }}forum/img/edit.png">
+ <img alt="Edit" title="Edit your comment" class="middle" src="{% static 'forum/img/edit.png' %}">
<span class="middle">Edit</span>
</a>
{% endif %}
@@ -102,7 +103,7 @@
<div style="margin: 1em 0px 1em 0px">
<a class="button posLeft" href="{% url 'wlmaps_download' map.slug %}">
- <img src="{{ MEDIA_URL }}img/arrow_down_short.png" alt ="" class="middle" />
+ <img src="{% static 'img/arrow_down_short.png' %}" alt ="" class="middle" />
<span class="middle">Download this map</span>
</a>
</div>
=== modified file 'templates/wlmaps/upload.html'
--- templates/wlmaps/upload.html 2018-10-14 13:24:15 +0000
+++ templates/wlmaps/upload.html 2018-11-23 20:43:50 +0000
@@ -3,6 +3,8 @@
vim:ft=htmldjango
{% endcomment %}
+{% load static %}
+
{% block title %}Upload - {{ block.super }}{% endblock %}
{% block content_header %}
@@ -22,7 +24,7 @@
{{ form.uploader_comment.label_tag }}
<span class="posRight">
<a href="/wiki/WikiSyntax" title="Opens new Tab/Window" target="_blank">
- <img src="{{ MEDIA_URL }}img/menu_help.png" alt="Help on Syntax" class="middle">
+ <img src="{% static 'img/menu_help.png' %}" alt="Help on Syntax" class="middle">
Help on Syntax
</a>
</span>
=== modified file 'templates/wlpoll/base.html'
--- templates/wlpoll/base.html 2017-09-23 08:52:36 +0000
+++ templates/wlpoll/base.html 2018-11-23 20:43:50 +0000
@@ -3,10 +3,12 @@
vim:ft=htmldjango
{% endcomment %}
+{% load static %}
+
{% block extra_head %}
{{block.super}}
-<link rel="stylesheet" type="text/css" media="all" href="{{ MEDIA_URL }}css/comments.css" />
-<script src="{{ MEDIA_URL }}js/highcharts_v5/highcharts.js" type="text/javascript"></script>
+<link rel="stylesheet" type="text/css" media="all" href="{% static 'css/comments.css' %}" />
+<script src="{% static 'js/highcharts_v5/highcharts.js' %}" type="text/javascript"></script>
{% endblock %}
{% block title %}Polls - {{ block.super }}{% endblock %}
=== modified file 'templates/wlpoll/poll_list.html'
--- templates/wlpoll/poll_list.html 2018-03-11 11:06:46 +0000
+++ templates/wlpoll/poll_list.html 2018-11-23 20:43:50 +0000
@@ -3,9 +3,11 @@
vim:ft=htmldjango
{% endcomment %}
+{% load static %}
+
{% block extra_head %}
{{ block.super}}
-<link rel="stylesheet" type="text/css" media="all" href="{{ MEDIA_URL }}css/wiki.css" />
+<link rel="stylesheet" type="text/css" media="all" href="{% static 'css/wiki.css' %}" />
{% endblock %}
{% load threadedcommentstags custom_date %}
=== modified file 'templates/wlprofile/base.html'
--- templates/wlprofile/base.html 2018-10-14 13:24:15 +0000
+++ templates/wlprofile/base.html 2018-11-23 20:43:50 +0000
@@ -4,12 +4,14 @@
vim:ft=htmldjango
{% endcomment %}
+{% load static %}
+
{% block title %}
{{ block.super }}
{% endblock %}
{% block extra_head %}
-<link rel="stylesheet" type="text/css" media="all" href="{{ MEDIA_URL }}css/profile.css" />{{ block.super}}
+<link rel="stylesheet" type="text/css" media="all" href="{% static 'css/profile.css' %}" />{{ block.super}}
{% endblock %}
{% block content_tabbing %}
=== modified file 'templates/wlscheduling/base.html'
--- templates/wlscheduling/base.html 2018-10-15 16:11:43 +0000
+++ templates/wlscheduling/base.html 2018-11-23 20:43:50 +0000
@@ -1,10 +1,12 @@
{% extends "wlprofile/base.html" %}
+{% load static %}
+
{% block extra_head %}
-<link rel="stylesheet" type="text/css" href="{{ MEDIA_URL }}css/jquery-ui.multidatespicker.css" >
-<link rel="stylesheet" type="text/css" href="{{ MEDIA_URL }}css/scheduling.css" >
+<link rel="stylesheet" type="text/css" href="{% static 'css/jquery-ui.multidatespicker.css' %}" >
+<link rel="stylesheet" type="text/css" href="{% static 'css/scheduling.css' %}" >
-<script src="{{ MEDIA_URL }}js/jquery-ui.multidatespicker.js" type="text/javascript"></script>
-<script src="{{ MEDIA_URL }}js/scheduling.js" type="text/javascript"></script>
+<script src="{% static 'js/jquery-ui.multidatespicker.js' %}" type="text/javascript"></script>
+<script src="{% static 'js/scheduling.js' %}" type="text/javascript"></script>
{% endblock %}
{% block title %}
=== modified file 'templates/wlscreens/base.html'
--- templates/wlscreens/base.html 2012-04-02 09:41:12 +0000
+++ templates/wlscreens/base.html 2018-11-23 20:43:50 +0000
@@ -3,9 +3,11 @@
vim:ft=htmldjango
{% endcomment %}
+{% load static %}
+
{% block extra_head %}
{{ block.super }}
-<link rel="stylesheet" type="text/css" media="all" href="{{ MEDIA_URL }}css/screens.css" />
+<link rel="stylesheet" type="text/css" media="all" href="{% static 'css/screens.css' %}" />
{% endblock %}
{% block title %}Screenshots - {{ block.super }}{% endblock %}
=== modified file 'templates/wlscreens/index.html'
--- templates/wlscreens/index.html 2018-10-14 13:24:15 +0000
+++ templates/wlscreens/index.html 2018-11-23 20:43:50 +0000
@@ -4,13 +4,14 @@
{% endcomment %}
{% load wl_markdown %}
+{% load static %}
{% block extra_head %}
{{ block.super }}
-<link rel="stylesheet" href="{{ MEDIA_URL }}lightbox_v2/css/lightbox.css" type="text/css" media="screen" />
-<link rel="stylesheet" href="{{ MEDIA_URL }}lightbox_v2/css/custom.css" type="text/css" media="screen" />
+<link rel="stylesheet" href="{% static 'lightbox_v2/css/lightbox.css" type="text/css" media="screen' %}" />
+<link rel="stylesheet" href="{% static 'lightbox_v2/css/custom.css" type="text/css" media="screen' %}" />
<!-- lightbox-plus-jquery.min.js supports also IE9+ -->
-<script type="text/javascript" src="{{ MEDIA_URL }}lightbox_v2/lightbox-plus-jquery.min.js"></script>
+<script type="text/javascript" src="{% static 'lightbox_v2/lightbox-plus-jquery.min.js' %}"></script>
<script type="text/javascript">
lightbox.option({
'resizeDuration': 400,
=== added directory 'threadedcomments/static'
=== added directory 'threadedcomments/static/css'
=== renamed file 'media/css/comments.css' => 'threadedcomments/static/css/comments.css'
=== added directory 'wiki/css'
=== added directory 'wiki/static'
=== added directory 'wiki/static/css'
=== renamed file 'media/css/wiki.css' => 'wiki/static/css/wiki.css'
=== added directory 'wlhelp/static'
=== added directory 'wlhelp/static/css'
=== renamed file 'media/css/encyclopedia.css' => 'wlhelp/static/css/encyclopedia.css'
=== added directory 'wlhelp/static/js'
=== renamed file 'media/js/encyclopedia.js' => 'wlhelp/static/js/encyclopedia.js'
=== added directory 'wlmaps/static'
=== added directory 'wlmaps/static/css'
=== renamed file 'media/css/maps.css' => 'wlmaps/static/css/maps.css'
=== added directory 'wlpoll/static'
=== added directory 'wlpoll/static/js'
=== renamed directory 'media/js/highcharts_v5' => 'wlpoll/static/js/highcharts_v5'
=== added directory 'wlprofile/static'
=== added directory 'wlprofile/static/css'
=== renamed file 'media/css/profile.css' => 'wlprofile/static/css/profile.css'
=== added directory 'wlscheduling/static'
=== added directory 'wlscheduling/static/css'
=== renamed file 'media/css/jquery-ui.multidatespicker.css' => 'wlscheduling/static/css/jquery-ui.multidatespicker.css'
=== renamed file 'media/css/scheduling.css' => 'wlscheduling/static/css/scheduling.css'
=== added directory 'wlscheduling/static/js'
=== renamed file 'media/js/jquery-ui.multidatespicker.js' => 'wlscheduling/static/js/jquery-ui.multidatespicker.js'
=== renamed file 'media/js/scheduling.js' => 'wlscheduling/static/js/scheduling.js'
=== added directory 'wlscreens/static'
=== added directory 'wlscreens/static/css'
=== renamed file 'media/css/screens.css' => 'wlscreens/static/css/screens.css'
=== renamed directory 'media/lightbox_v2' => 'wlscreens/static/lightbox_v2'
=== added directory 'wlsearch/static'
=== added directory 'wlsearch/static/css'
=== renamed file 'media/css/search.css' => 'wlsearch/static/css/search.css'
=== added directory 'wlsearch/static/js'
=== renamed file 'media/js/search.js' => 'wlsearch/static/js/search.js'
Follow ups
-
Re: [Merge] lp:~widelands-dev/widelands-website/django_staticfiles into lp:widelands-website
From: GunChleoc, 2018-12-05
-
Re: [Merge] lp:~widelands-dev/widelands-website/django_staticfiles into lp:widelands-website
From: kaputtnik, 2018-11-30
-
[Merge] lp:~widelands-dev/widelands-website/django_staticfiles into lp:widelands-website
From: noreply, 2018-11-30
-
Re: [Merge] lp:~widelands-dev/widelands-website/django_staticfiles into lp:widelands-website
From: kaputtnik, 2018-11-28
-
Re: [Merge] lp:~widelands-dev/widelands-website/django_staticfiles into lp:widelands-website
From: GunChleoc, 2018-11-28
-
[Merge] lp:~widelands-dev/widelands-website/django_staticfiles into lp:widelands-website
From: kaputtnik, 2018-11-27
-
Re: [Merge] lp:~widelands-dev/widelands-website/django_staticfiles into lp:widelands-website
From: kaputtnik, 2018-11-27
-
[Merge] lp:~widelands-dev/widelands-website/django_staticfiles into lp:widelands-website
From: kaputtnik, 2018-11-26
-
[Merge] lp:~widelands-dev/widelands-website/django_staticfiles into lp:widelands-website
From: kaputtnik, 2018-11-26
-
Re: [Merge] lp:~widelands-dev/widelands-website/django_staticfiles into lp:widelands-website
From: kaputtnik, 2018-11-25
-
Re: [Merge] lp:~widelands-dev/widelands-website/django_staticfiles into lp:widelands-website
From: kaputtnik, 2018-11-25
-
Re: [Merge] lp:~widelands-dev/widelands-website/django_staticfiles into lp:widelands-website
From: kaputtnik, 2018-11-25
-
Re: [Merge] lp:~widelands-dev/widelands-website/django_staticfiles into lp:widelands-website
From: GunChleoc, 2018-11-25
-
Re: [Merge] lp:~widelands-dev/widelands-website/django_staticfiles into lp:widelands-website
From: kaputtnik, 2018-11-24
-
Re: [Merge] lp:~widelands-dev/widelands-website/django_staticfiles into lp:widelands-website
From: kaputtnik, 2018-11-24
-
Re: [Merge] lp:~widelands-dev/widelands-website/django_staticfiles into lp:widelands-website
From: kaputtnik, 2018-11-24
-
[Merge] lp:~widelands-dev/widelands-website/django_staticfiles into lp:widelands-website
From: kaputtnik, 2018-11-24