Добавление загруженного текстового файла в поле textbox - Django
Я довольно новичок в Django и все еще учусь, но у меня возникают трудности при попытке понять, как позволить пользователю загружать .txt файл, но вместо этого загруженный .txt файл должен перезаписываться в самом текстовом поле. Пример: При загрузке https://imgur.com/a/jdCjlVS
<class NewInput(forms.Form):
text = forms.CharField(label='Input', max_length=1000, required=False)
file = forms.FileField(required=False)
models.py
class Collection(models.Model):
user = models.ForeignKey(User, on_delete=models.CASCADE, related_name="collection", null=True)
text = models.TextField(max_length=1000, default='')
create.html
{% extends 'main/base.html' %}
{% load crispy_forms_tags %}
{% block title %}
New Input
{% endblock %}
{% block content %}
<center>
<h3>Create a New Input:</h3>
<p class="text-primary"></p>
<form method = "post" action = "/create/" class="form-group" enctype="multipart/form-data">
{% csrf_token %}
{{form|crispy}}
<div class="input-group mb-3">
<div class="col text-center">
<button type="submit" name="save" class="btn btn-success">Create</button>
</div>
</div>
</form>
</center>
{% endblock %}
views.py
def create(response):
if response.user.is_authenticated:
username = response.user.username
if response.method == "POST":
form = NewInput(response.POST)
if form.is_valid():
n = form.cleaned_data["text"]
t = Collection(text=n)
t.save()
response.user.collection.add(t)
return HttpResponseRedirect("/collections/%s" % username)
else:
form = NewInput()
return render(response, "main/create.html", {"form": form})
else:
return HttpResponseRedirect("/login")
Я пытался добавить отдельный класс в качестве поля формы, но не смог понять, как заставить его перезаписывать текстовую область вместо этого.