代码之家  ›  专栏  ›  技术社区  ›  Hat hout

如何在django html中导入模块?

  •  1
  • Hat hout  · 技术社区  · 8 年前

    我有一个django博客。我需要使用enchant检查博客文章中的文本是否为英语,然后在文本错误更正中使用api。

    这是我的html代码:

    {% load enchant %}
    
    {% dictionary = enchant.Dict("en_US") %}
    <p>{% dictionary.check(post.title) %}</p>
    

    运行服务器时没有错误,但html页面上没有任何错误。

    1 回复  |  直到 8 年前
        1
  •  5
  •   1ronmat    8 年前

    跟我来:)

    那里 pyenchant中不存在模板标记吗 dictionary = enchant.Dict("en_US") django后端正常 ,但它也不适合django模板。

    所以要做到这一点,你可以 在python代码和模板语言之间建立连接。

    templatetags
    templatetags/__init__.py
    templatetags/pyenchant_tags.py
    

    templatetags/pyenchant_标记。py文件

    import enchant
    from django import template
    
    register = template.Library()
    
    @register.simple_tag
    def please_enchant_my_string(language, string):
        d = enchant.Dict(language)
        return d.check(string)
    

    这个

    {% load pyenchant_tags %}
    
    <div>
        {% please_enchant_my_string 'en_US' post.title %}
    </div>