Ensure correct creation of full URL for canonical urls
This commit is contained in:
parent
b92d560cdc
commit
e921c88ecc
5 changed files with 16 additions and 6 deletions
|
@ -3,7 +3,7 @@
|
||||||
|
|
||||||
{% block meta_description %}{{ post.meta_description }}{% endblock meta_description %}
|
{% block meta_description %}{{ post.meta_description }}{% endblock meta_description %}
|
||||||
{% block meta_keywords %}{{ post.meta_keywords }}{% endblock meta_keywords %}
|
{% block meta_keywords %}{{ post.meta_keywords }}{% endblock meta_keywords %}
|
||||||
{% block canonical_url %}<link rel="canonical" href="{{ SITE.domain }}{{ view.get_view_url }}"/>{% endblock canonical_url %}
|
{% block canonical_url %}<link rel="canonical" href="{{ meta.url }}"/>{% endblock canonical_url %}
|
||||||
{% block title %}{{ post.get_title }}{% endblock %}
|
{% block title %}{{ post.get_title }}{% endblock %}
|
||||||
|
|
||||||
{% block content_blog %}{% spaceless %}
|
{% block content_blog %}{% spaceless %}
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
{% extends "djangocms_blog/base.html" %}
|
{% extends "djangocms_blog/base.html" %}
|
||||||
{% load i18n thumbnail %}{% spaceless %}
|
{% load i18n thumbnail %}{% spaceless %}
|
||||||
|
|
||||||
{% block canonical_url %}<link rel="canonical" href="{{ SITE.domain }}{{ view.get_view_url }}"/>{% endblock canonical_url %}
|
{% block canonical_url %}<link rel="canonical" href="{{ view.get_view_url }}"/>{% endblock canonical_url %}
|
||||||
|
|
||||||
{% block content_blog %}
|
{% block content_blog %}
|
||||||
<section class="blog-list">
|
<section class="blog-list">
|
||||||
|
|
|
@ -26,12 +26,13 @@ class BaseBlogView(AppConfigMixin, ViewUrlMixin):
|
||||||
'Missing `view_url_name` attribute on {0}'.format(self.__class__.__name__)
|
'Missing `view_url_name` attribute on {0}'.format(self.__class__.__name__)
|
||||||
)
|
)
|
||||||
|
|
||||||
return reverse(
|
url = reverse(
|
||||||
self.view_url_name,
|
self.view_url_name,
|
||||||
args=self.args,
|
args=self.args,
|
||||||
kwargs=self.kwargs,
|
kwargs=self.kwargs,
|
||||||
current_app=self.namespace
|
current_app=self.namespace
|
||||||
)
|
)
|
||||||
|
return self.request.build_absolute_uri(url)
|
||||||
|
|
||||||
def get_queryset(self):
|
def get_queryset(self):
|
||||||
language = get_language()
|
language = get_language()
|
||||||
|
|
|
@ -4,6 +4,7 @@
|
||||||
<head>
|
<head>
|
||||||
<title>{% block title %}{% page_attribute 'title' %}{% endblock title %}</title>
|
<title>{% block title %}{% page_attribute 'title' %}{% endblock title %}</title>
|
||||||
{% render_block "css" %}
|
{% render_block "css" %}
|
||||||
|
{% block canonical_url %}{% endblock canonical_url %}
|
||||||
{% include "meta_mixin/meta.html" %}
|
{% include "meta_mixin/meta.html" %}
|
||||||
<style type="text/css">
|
<style type="text/css">
|
||||||
.nav {
|
.nav {
|
||||||
|
|
|
@ -58,6 +58,7 @@ class ViewTest(BaseTest):
|
||||||
self.assertEqual(set(view_obj.get_queryset()), set([posts[0], posts[1], posts[2]]))
|
self.assertEqual(set(view_obj.get_queryset()), set([posts[0], posts[1], posts[2]]))
|
||||||
|
|
||||||
view_obj.kwargs = {}
|
view_obj.kwargs = {}
|
||||||
|
view_obj.args = ()
|
||||||
view_obj.object_list = view_obj.get_queryset()
|
view_obj.object_list = view_obj.get_queryset()
|
||||||
view_obj.paginate_by = 1
|
view_obj.paginate_by = 1
|
||||||
context = view_obj.get_context_data(object_list=view_obj.object_list)
|
context = view_obj.get_context_data(object_list=view_obj.object_list)
|
||||||
|
@ -74,6 +75,7 @@ class ViewTest(BaseTest):
|
||||||
view_obj = PostListView()
|
view_obj = PostListView()
|
||||||
view_obj.namespace, view_obj.config = get_app_instance(request)
|
view_obj.namespace, view_obj.config = get_app_instance(request)
|
||||||
view_obj.request = request
|
view_obj.request = request
|
||||||
|
view_obj.args = ()
|
||||||
view_obj.kwargs = {}
|
view_obj.kwargs = {}
|
||||||
view_obj.object_list = view_obj.get_queryset()
|
view_obj.object_list = view_obj.get_queryset()
|
||||||
context = view_obj.get_context_data(object_list=view_obj.object_list)
|
context = view_obj.get_context_data(object_list=view_obj.object_list)
|
||||||
|
@ -106,7 +108,10 @@ class ViewTest(BaseTest):
|
||||||
view_obj_1.args = ()
|
view_obj_1.args = ()
|
||||||
view_obj_1.kwargs = {}
|
view_obj_1.kwargs = {}
|
||||||
view_obj_1.namespace, view_obj_1.config = get_app_instance(request)
|
view_obj_1.namespace, view_obj_1.config = get_app_instance(request)
|
||||||
self.assertEqual(view_obj_1.get_view_url(), pages[1].get_absolute_url())
|
self.assertEqual(
|
||||||
|
view_obj_1.get_view_url(),
|
||||||
|
'http://testserver{0}'.format(pages[1].get_absolute_url())
|
||||||
|
)
|
||||||
|
|
||||||
request = self.get_request(pages[2], 'en', AnonymousUser())
|
request = self.get_request(pages[2], 'en', AnonymousUser())
|
||||||
view_obj_2 = PostListView()
|
view_obj_2 = PostListView()
|
||||||
|
@ -114,7 +119,10 @@ class ViewTest(BaseTest):
|
||||||
view_obj_2.args = ()
|
view_obj_2.args = ()
|
||||||
view_obj_2.kwargs = {}
|
view_obj_2.kwargs = {}
|
||||||
view_obj_2.namespace, view_obj_2.config = get_app_instance(request)
|
view_obj_2.namespace, view_obj_2.config = get_app_instance(request)
|
||||||
self.assertEqual(view_obj_2.get_view_url(), pages[2].get_absolute_url())
|
self.assertEqual(
|
||||||
|
view_obj_2.get_view_url(),
|
||||||
|
'http://testserver{0}'.format(pages[2].get_absolute_url())
|
||||||
|
)
|
||||||
|
|
||||||
view_obj_2.view_url_name = None
|
view_obj_2.view_url_name = None
|
||||||
with self.assertRaises(ImproperlyConfigured):
|
with self.assertRaises(ImproperlyConfigured):
|
||||||
|
|
Loading…
Reference in a new issue