问题描述
创建条目时,例如
# 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))