【问题标题】:Django textarea formDjango 文本区域表单
【发布时间】:2021-03-19 11:08:31
【问题描述】:

我需要在 Django 的 HTML 页面中为 textarea 设置行和列,但它不起作用。

我已经将行和列放在我的表单中

Views.py

class EditForm(forms.Form):

    title =  forms.CharField(widget=forms.TextInput(attrs={'name':'title'}))

    body = forms.CharField(widget=forms.Textarea(attrs={'name':'body', 'rows':3, 'cols':5}))

def new(request):
     return render(request,"encyclopedia/handlepage.html", {
       "title": "CREATE NEW PAGE",
        "edit": False,
        "editpage": EditForm()
     })
 

handlepage.html

{% extends "encyclopedia/layout.html" %}

{% block title %}
   {{ title }}
{% endblock %}

{% block body %}

<h1>{{title}}</h1>
<a href="https://guides.github.com/features/mastering-markdown/">Markdown guides</a>
{% if edit %}
    //Useless right now
{% else %}

<form method="POST" action="{% url 'save' %}">
    <input type="submit" value="SAVE ENTRY"><br>
    {% csrf_token %}
    {{ editpage }} 
</form>


{% endif %}
  
{% endblock %}

然后我的页面应该有一个小的文本区域,但它具有相同的大小,独立于它的行和列,像这样

【问题讨论】:

  • 您的浏览器源代码是否显示感兴趣的 textarea 标签上的任何内容?
  • @AMG 抱歉回复晚了。这是来自检查 textarea { height: 90vh;宽度:80%; }
  • 我怀疑你的 CSS 超过了你的属性。在&lt;textarea &gt; 中是否设置了行和列?寻找源头。
  • 是的,也许是。我没有看到 CSS 因为这是一个需要修改的现有项目

标签: python django


【解决方案1】:

将这些数字写在引号中。看看它是否有效。

body = forms.CharField(widget=forms.Textarea(attrs={'name':'body', 'rows':'3', 'cols':'5'}))

【讨论】:

    【解决方案2】:

    在 init 中添加它有效吗?我忘记了我必须这样做的原因,但这是我一直在使用的(虽然我可能已经过时了)。

    class EditForm(forms.Form):
    
        body = forms.CharField(widget=forms.Textarea())
        
        def __init__(self, *args, *kwargs):
            super().__init__(*args, *kwargs)
            self.fields['body'].widget.attrs['rows'] = 3
    

    或者在meta中:

    class EditForm(forms.Form):
    
        # your fields defined here followed by Meta
    
        class Meta:
            fields = ['title', 'body' ]
            widgets = {
                'body': forms.Textarea(attrs={'rows': 3}),
            }
    

    【讨论】:

    • 这两种解决方案都不起作用。大小保持不变
    猜你喜欢
    • 2020-11-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多