当前位置:   article > 正文

django模板无法正常加载 {% load markup %}_django模板语言加载不上字典

django模板语言加载不上字典

问题的起因还是升级服务,从 python2.7 django1.6 升级到 python3.8 django3.2。

先看下模板的内容,这个模板在原始版本中是好着的。

  1. {% load markup %}{{ issue.description|markdown }}
  2. <a href="{{ ABSOLUTE_URL_ROOT }}{{ issue.get_absolute_url }}">Permalink</a>

这里注意,在原始版本中,这种用法需要 setting.py 给与支持。

  1. INSTALLED_APPS = (
  2. 'django.contrib.auth',
  3. 'django.contrib.admin',
  4. 'django.contrib.contenttypes',
  5. 'django.contrib.sessions',
  6. 'django.contrib.sites',
  7. 'django.contrib.markup',
  8. 'django.contrib.messages',
  9. 'django.contrib.staticfiles',
  10. 'raven.contrib.django',
  11. 'south',
  12. 'pipeline',
  13. 'tastypie',
  14. 'djcelery',
  15. 'djcelery_email',
  16. 'infrastructure',
  17. 'dashboard'
  18. )

注意其中的 : 'django.contrib.markup',

这里是需要将这个添加到 INSTALLED_APPS 中去的。

ok,现在问题来了,'django.contrib.markup', 这个东西,在django1.6以后,就彻底没了,废弃掉了,所以上面的 django 模板就没法用了,{% load markup %} 这东西就不生效了,会直接导致模板无法被正常加载的。

解决之法:

pip install django-markup[all_filter_dependencies]

或者直接下这些包:

bleach                     5.0.0
django-markup       1.5
docutils                   0.18.1
html5lib                   1.1
httplib2                    0.20.4
importlib-metadata  4.11.4
Markdown               3.3.7
Pygments               2.12.0
python-creole         1.4.10
raven                      6.10.0
regex                      2022.6.2
smartypants           2.0.1
textile                     4.0.2
utils                        1.0.1
webencodings        0.5.1

这两者基本是等价的。

然后添加'django_markup', 到 INSTALLED_APPS :

  1. INSTALLED_APPS = (
  2. ...
  3. 'django_markup',
  4. )

最后,将原先的模板代码,进行变更:

  1. {% load markup_tags %}{{ issue.description|apply_markup:"markdown" }}
  2. <a href="{{ ABSOLUTE_URL_ROOT }}{{ issue.get_absolute_url }}">Permalink</a>

注意,主要是替换原先的 markup 为 markup_tags, markdown 为 apply_markup:"markdown" 其他不变即可。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/凡人多烦事01/article/detail/427113
推荐阅读
相关标签
  

闽ICP备14008679号