nephila / djangocms-blog

django CMS blog application - Support for multilingual posts, placeholders, social network meta tags and configurable apphooks
https://djangocms-blog.readthedocs.io
BSD 3-Clause "New" or "Revised" License
392 stars 192 forks source link

djangocms-blog multilingual support #703

Closed Corvette653 closed 2 years ago

Corvette653 commented 2 years ago

I've added second language to my website but djangocms-blog seems incompatible. I've translated configuration, categories and posts in admin panel.

Problems

  1. "/aktualnosci/" (page with djangocms-blog apphook) behaves in a very strange way:

    • "/pl/aktualnosci/" works well (there is a list of articles in polish)
    • "/uk/aktualnosci/" is empty (I can add content and change template like there were no apphook)
    • "/uk/novini/" (same page with translated slug) shows exactly the same what "/uk/aktualnosci/" (and it should be this way)
    • "/pl/novini/" behaves independently from "/pl/aktualnosci/" and is also empty
  2. last articles plugin works well on pages with "/pl/" prefix but on pages with "/uk/" it cause an error:

    
    Template error:
    In template \templates\djangocms_blog\includes\blog_item.html, error at line
    <a href=" {{ post.get_absolute_url }} " class="post_item">
    Reverse for 'post-detail' not found. 'post-detail' is not a valid view function or pattern name.

Traceback (most recent call last): File "\env\lib\site-packages\django\core\handlers\exception.py", line 47, in inner response = get_response(request) File "\env\lib\site-packages\django\core\handlers\base.py", line 202, in _get_response response = response.render() File "\env\lib\site-packages\django\template\response.py", line 105, in render self.content = self.rendered_content File "\env\lib\site-packages\django\template\response.py", line 83, in rendered_content return template.render(context, self._request) File "\env\lib\site-packages\django\template\backends\django.py", line 61, in render return self.template.render(context) File "\env\lib\site-packages\django\template\base.py", line 170, in render return self._render(context) File "\env\lib\site-packages\django\template\base.py", line 162, in _render return self.nodelist.render(context) File "\env\lib\site-packages\django\template\base.py", line 938, in render bit = node.render_annotated(context) File "\env\lib\site-packages\django\template\base.py", line 905, in render_annotated return self.render(context) File "\env\lib\site-packages\django\template\loader_tags.py", line 150, in render return compiled_parent._render(context) File "\env\lib\site-packages\django\template\base.py", line 162, in _render return self.nodelist.render(context) File "\env\lib\site-packages\django\template\base.py", line 938, in render bit = node.render_annotated(context) File "\env\lib\site-packages\django\template\base.py", line 905, in render_annotated return self.render(context) File "\env\lib\site-packages\classytags\core.py", line 151, in render return self.render_tag(context, kwargs) File "\env\lib\site-packages\sekizai\templatetags\sekizai_tags.py", line 87, in render_tag rendered_contents = nodelist.render(context) File "\env\lib\site-packages\django\template\base.py", line 938, in render bit = node.render_annotated(context) File "\env\lib\site-packages\django\template\base.py", line 905, in render_annotated return self.render(context) File "\env\lib\site-packages\classytags\core.py", line 151, in render return self.render_tag(context, kwargs) File "\env\lib\site-packages\cms\templatetags\cms_tags.py", line 443, in render_tag return toolbar.render_with_structure(context, nodelist) File "\env\lib\site-packages\cms\toolbar\toolbar.py", line 476, in render_with_structure rendered_contents = nodelist.render(context) File "\env\lib\site-packages\django\template\base.py", line 938, in render bit = node.render_annotated(context) File "\env\lib\site-packages\django\template\base.py", line 905, in render_annotated return self.render(context) File "\env\lib\site-packages\django\template\loader_tags.py", line 62, in render result = block.nodelist.render(context) File "\env\lib\site-packages\django\template\base.py", line 938, in render bit = node.render_annotated(context) File "\env\lib\site-packages\django\template\base.py", line 905, in render_annotated return self.render(context) File "\env\lib\site-packages\classytags\core.py", line 151, in render return self.render_tag(context, *kwargs) File "\env\lib\site-packages\cms\templatetags\cms_tags.py", line 305, in render_tag content = renderer.render_page_placeholder( File "\env\lib\site-packages\cms\plugin_rendering.py", line 335, in render_page_placeholder content = self.render_placeholder( File "\env\lib\site-packages\cms\plugin_rendering.py", line 257, in render_placeholder placeholder_content = ''.join(plugin_content) File "\env\lib\site-packages\cms\plugin_rendering.py", line 454, in render_plugins yield self.render_plugin(plugin, context, placeholder, editable) File "\env\lib\site-packages\cms\plugin_rendering.py", line 433, in render_plugin content = template.render(context) File "\env\lib\site-packages\django\template\backends\django.py", line 61, in render return self.template.render(context) File "\env\lib\site-packages\django\template\base.py", line 170, in render return self._render(context) File "\env\lib\site-packages\django\template\base.py", line 162, in _render return self.nodelist.render(context) File "\env\lib\site-packages\django\template\base.py", line 938, in render bit = node.render_annotated(context) File "\env\lib\site-packages\django\template\base.py", line 905, in render_annotated return self.render(context) File "\env\lib\site-packages\django\template\defaulttags.py", line 401, in render return strip_spaces_between_tags(self.nodelist.render(context).strip()) File "\env\lib\site-packages\django\template\base.py", line 938, in render bit = node.render_annotated(context) File "\env\lib\site-packages\django\template\base.py", line 905, in render_annotated return self.render(context) File "\env\lib\site-packages\django\template\defaulttags.py", line 211, in render nodelist.append(node.render_annotated(context)) File "\env\lib\site-packages\django\template\base.py", line 905, in render_annotated return self.render(context) File "\env\lib\site-packages\django\template\loader_tags.py", line 192, in render return template.render(context) File "\env\lib\site-packages\django\template\base.py", line 172, in render return self._render(context) File "\env\lib\site-packages\django\template\base.py", line 162, in _render return self.nodelist.render(context) File "\env\lib\site-packages\django\template\base.py", line 938, in render bit = node.render_annotated(context) File "\env\lib\site-packages\django\template\base.py", line 905, in render_annotated return self.render(context) File "\env\lib\site-packages\django\template\base.py", line 988, in render output = self.filter_expression.resolve(context) File "\env\lib\site-packages\django\template\base.py", line 671, in resolve obj = self.var.resolve(context) File "\env\lib\site-packages\django\template\base.py", line 796, in resolve value = self._resolve_lookup(context) File "\env\lib\site-packages\django\template\base.py", line 858, in _resolve_lookup current = current() File "\env\lib\site-packages\djangocms_blog\models.py", line 376, in get_absolute_url return reverse( File "\env\lib\site-packages\django\urls\base.py", line 87, in reverse return iri_to_uri(resolver._reverse_with_prefix(view, prefix, args, **kwargs)) File "\env\lib\site-packages\django\urls\resolvers.py", line 685, in _reverse_with_prefix raise NoReverseMatch(msg)

Exception Type: NoReverseMatch at /uk/test_page/ Exception Value: Reverse for 'post-detail' not found. 'post-detail' is not a valid view function or pattern name.



3. I cannot get to "uk" versions of posts, when I use language_switcher on post, I get 404 page not found error

## Versions
Python 3.9.6
Django==3.1
djangocms-blog==1.2.3
Corvette653 commented 2 years ago

It was my fault, I haven't published page in ukrainian language Here is other issue with the same problem: https://github.com/nephila/djangocms-blog/issues/659