2017-07-18 13 views
0

DjangoテンプレートからJinja2に移行するための膨大な努力の中で、いくつかの問題が発生しました。残念ながら(驚いたことに)私はこれに関する多くの情報を見つけることができませんでした。DjangoのAllAuthをJinja2で使用しますか?

主な問題は、タグである:

<a class="ui twitter button" href="{% provider_login_url "twitter" method="oauth2" next="/photos/new" %}"> 

Jinja2のは、それを認識しません。この作品を作ることに成功したそこに誰か

django.template.exceptions.TemplateSyntaxError: ("Encountered unknown tag 'provider_login_url'. 

がなければなりません。 jinja2でテンプレートタグを利用できるようにする簡単な方法はありませんか? jinja2で動作するサードパーティライブラリを作成する一般的な方法は何ですか?

答えて

0

これは私が(jinja2のfuncとして登録した)もので、100%がネイティブタグとして動作しているかどうかはわかりませんが、まだ問題はありませんでした。

def provider_login_url(request, provider_id, **kwargs): 
    provider = providers.registry.by_id(provider_id) 
    query = kwargs 
    if 'next' not in query: 
     next_ = request.GET.get('next') 
     if next_: 
      query['next'] = next_ 
    else: 
     if not query['next']: 
     del query['next'] 
    return provider.get_login_url(request, **query) 
関連する問題