我想将此变量传递给上下文并呈现它,它包含html标记。
notificacion_string = "<a href = \"{% url \'perfiles:perfil\' actor.usuario.username \'recientes\' %}\" > %s </a> voted on your post" % (notificacion.actor.usuario.username)
如您所见,我已尝试转义href =“”中的引号。但是我得到了这个错误:
%u format: a number is required, not unicode
所以,我想当评估“%url ..”%()时会发生错误。我尝试过很多事情都没有成功。
额外信息:
网址“pefiles:perfil”收到两个论点:
url(r'^(?P<username>\w+)/(?P<queryset>\w+)/$',views.perfil, name='perfil'),
参数是用户名和查询集,第一个来自notificacion.actor.usuario.username,第二个是字符串'recientes'。
提前感谢您的帮助。
答案 0 :(得分:1)
没有必要逃避任何引用。用于评估模板标记内的代码的上下文与周围的HTML完全分开,因此它们不会干扰。
答案 1 :(得分:1)
from django.core.urlresolvers import reverse
# Generate the URL using the Django urlresolver reverse
url = reverse('perfiles:perfil', kwargs={'username': actor.usuario.username, 'queryset': 'recientes' })
# Then concatenate the URL as other string argument
notificacion_string = "<a href ='%s'> %s </a> voted on your post" % (url, notificacion.actor.usuario.username)
<a href = "{% url 'perfiles:perfil' actor.usuario.username 'recientes' %}" >{{notificacion.actor.usuario.username}}</a> voted on your post"
<script>
// Generate an URL with a fake username
var url = "{% url 'perfiles:perfil' 'FakeUsername' 'recientes' %}"
// Let's supose we received an AJAX response with a variable username
username = response['username']
// Replace the string 'FakeUsername' for the real one
url = url.replace('FakeUsername', username)
</script>
官方的Django文档说得很清楚,所以我建议你检查一下Django URLresolvers