python - 如何在 django 模板中包含翻译中的反向 url
问题描述
我有以下代码块,并且我想在用户注销后以可翻译的文本包含登录页面的 url。
不幸的是,翻译块不能包含标签,我收到以下错误:
SyntaxError:翻译块不得包含其他块标签:url“account:login”
{% blocktrans %}
You have been successfully logged out.
You can <a href="{% url "account:login" %}">log-in again</a>.
{% endblocktrans %}
网址.py:
from django.urls import path
from django.contrib.auth import views as auth_views
app_name = 'account'
urlpatterns = [
path('login/', auth_views.LoginView.as_view(), name='login'),
path('logout/', auth_views.LogoutView.as_view(), name='logout'),
]
实现这样的目标的正确方法是什么?
编辑:我认为有一些解决方法,例如单独翻译文本块,或者在页面加载后使用 javascript 附加“href”元素。但我想知道是否有更有效的 Django 方式。
解决方案
如记录的
反向 URL 查找不能在 blocktrans 中执行,应事先检索(和存储):
{% url 'path.to.view' arg arg2 as the_url %} {% blocktrans %} This is a URL: {{ the_url }} {% endblocktrans %}
推荐阅读
- ios - IOS - Admob 未加载真实(奖励)广告
- java - Java 8:如何根据保留顺序的多个属性从列表中删除重复项
- python - 我需要帮助将模块从同级文件夹导入测试
- java - Kotlin JaCoCo - IllegalClassFormatException。请提供原始的非仪器类
- r - 如何为向量给出的矩阵添加前缀?
- java - 使用 Mockito 在 JUnit 5 中模拟静态方法
- ios - 在 IOS 模拟器中构建 qwt 源时出错
- angular - 正则表达式:如何验证字符串是否包含角度 6 中的以下模式
- reactjs - 为什么 componentDidMount() 状态为空?
- react-native - 如何使用 Expo 在 React Native 中添加 Facebook 评论插件?