Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/74.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何设置;请参阅“更多”;Django中的大型描述选项?_Python_Html_Django_Django Templates_Word Wrap - Fatal编程技术网

Python 如何设置;请参阅“更多”;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>

我在django平台上使用python语言工作。我在我的模板文件中显示结果,其中有大量的描述要显示。我想知道的是,如果文本超过4行,我们如何在大型描述上设置“查看更多”选项。4行之后会出现“查看更多”选项。就像Facebook的长期状态一样。点击“查看更多”选项,我想显示我的全部描述。我是django的新手,希望您能给予帮助

这是我的密码

<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}}