Python 如何设置;请参阅“更多”;Django中的大型描述选项?
我在django平台上使用python语言工作。我在我的模板文件中显示结果,其中有大量的描述要显示。我想知道的是,如果文本超过4行,我们如何在大型描述上设置“查看更多”选项。4行之后会出现“查看更多”选项。就像Facebook的长期状态一样。点击“查看更多”选项,我想显示我的全部描述。我是django的新手,希望您能给予帮助 这是我的密码Python 如何设置;请参阅“更多”;Django中的大型描述选项?,python,html,django,django-templates,word-wrap,Python,Html,Django,Django Templates,Word Wrap,我在django平台上使用python语言工作。我在我的模板文件中显示结果,其中有大量的描述要显示。我想知道的是,如果文本超过4行,我们如何在大型描述上设置“查看更多”选项。4行之后会出现“查看更多”选项。就像Facebook的长期状态一样。点击“查看更多”选项,我想显示我的全部描述。我是django的新手,希望您能给予帮助 这是我的密码 <span class="results-cell-heading">{% trans "Description:" %}</span>
<span class="results-cell-heading">{% trans "Description:" %}</span>
<span class="results-cell">{% autoescape off %}{{ obj.description }}
{% endautoescape %}</span>
{%trans”说明:“%}
{%autoescape off%}{{obj.description}}
{%endautoescape%}
这里
{{obj.description}}
是描述文本 您可以调整现有的templatetags truncatewords,使其成为您自己的templatetags:
def truncatereadmore(value, arg):
"""
Truncates a string after a certain number of words.
Argument: Number of words to truncate after.
Newlines within the string are removed.
"""
try:
length = int(arg[0])
except ValueError: # Invalid literal for int().
return value # Fail silently.
return Truncator(value).words(length, truncate=arg[1])
在模板中:
{{ value|truncatereadmore:80:"read more" }}
我确实做了测试,但这是总体思路;)
完成此操作后,您将需要一个安静的javascript来处理您希望看到的“facebook行为”您可以调整现有的templatetags truncatewords,使其成为您自己的templatetags:
def truncatereadmore(value, arg):
"""
Truncates a string after a certain number of words.
Argument: Number of words to truncate after.
Newlines within the string are removed.
"""
try:
length = int(arg[0])
except ValueError: # Invalid literal for int().
return value # Fail silently.
return Truncator(value).words(length, truncate=arg[1])
在模板中:
{{ value|truncatereadmore:80:"read more" }}
我确实做了测试,但这是总体思路;)
一旦这样做了,你将需要一个安静的javascript来处理你想看到的“facebook行为”它确实解决了问题,但又引发了另一个问题。例如,如果他们没有关于该字段的数据,那么仍然可以看到更多选项显示它确实解决了问题,但导致了另一个问题。例如,如果他们没有关于该字段的数据,那么仍然可以看到更多选项显示无法使用此答案的解决方案。因为我已经调用了一些函数,如果我没有错的话,您可以使用几个模板标记{{{value | tag1:parm1:parm2{tag2:parm1:parm2}tag3:parm1:parm2}不能使用这个答案的解决方案。因为我已经调用了一些函数,如果我没有错的话,您可以使用几个模板标记{{value | tag1:parm1:parm2{tag2:parm1:parm2 | tag3:parm1:parm2}}