有没有办法删除从Django textarea添加到markdown文件中的行?

问题描述

创建条目时,例如

# Title
This is an entry

以下文件已创建

# Title

This is an entry

当我更新此文件时,将添加更多空间。我希望删除空格,仅在用户输入空格时显示代码段不是完整的文件,但应提供将所有内容连接在一起的相关代码

views.py

class NewEntryForm(forms.Form):
  title = forms.CharField(widget=forms.TextInput(attrs={'class': 'form-control'}))
  entry = forms.CharField(widget=forms.Textarea(attrs={'class': 'form-control'}))

def create(request):
    if request.method == "POST":
        print(request.POST.get('entry'))
        form = NewEntryForm(request.POST)
        if form.is_valid():
            title = form.cleaned_data["title"].strip()
            if util.get_entry(title):
                return render(request,"encyclopedia/create.html",{
                    "form": form,"exists": True,"title": title
                })
            else:
                entry = form.cleaned_data["entry"]
                print(entry)
                util.save_entry(title,entry)
                return redirect("entry",title=title)
        else:
            return render(request,{
                "form": form,"exists": False
            })
    return render(request,{
        "form": NewEntryForm(),"exists": False
    })

create.html

{% block body %}
  <h2>New Entry</h2>
  <form class="entry-form" action="{% url 'create' %}" method="post">
    {% csrf_token %}
    {{ form }}
    {% if exists %}
      <p class="alert alert-danger">Entry '{{ title }}' already exists.</p>
    {% endif %}
    <input type="submit" class="btn btn-primary mt-3">
  </form>
{% endblock %}

utils.py

def save_entry(title,content):
    """
    Saves an encyclopedia entry,given its title and Markdown
    content. If an existing entry with the same title already exists,it is replaced.
    """
    filename = f"entries/{title}.md"
    if default_storage.exists(filename):
        default_storage.delete(filename)
    default_storage.save(filename,ContentFile(content))

解决方法

我找到了一个更好的答案。

Newlines in textarea are doubled in number when saved