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

时间:2020-09-03 23:38:47

标签: django markdown textarea

创建条目时,例如

# 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, "encyclopedia/create.html", {
                "form": form,
                "exists": False
            })
    return render(request, "encyclopedia/create.html", {
        "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))

1 个答案:

答案 0 :(得分:0)

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

Newlines in textarea are doubled in number when saved

相关问题