如何使用 django 显示在 textarea 中输入的数据?
Posted
技术标签:
【中文标题】如何使用 django 显示在 textarea 中输入的数据?【英文标题】:How to show the data entered in textarea using django? 【发布时间】:2020-11-07 03:56:43 【问题描述】:我想创建一个辩论网站。我无法在屏幕上显示在我的文本区域中输入的数据。我创建了一个名为 NoteModel 的模型,并在 forms.py 文件中创建了一个 NoteForm。我正在使用views.py 来保存在textarea 中输入的数据。
应用名称:辩论
html文件名:content.html
这是我的 views.py 文件:
from django.http import HttpResponseRedirect
from .models import *
from .forms import *
def index(request):
return render(request,'debate/content.html')
def NoteView(request):
if request.method == 'POST':
m = NoteForm(data=request.POST)
if m.is_valid():
method = m.save()
return HttpResponseRedirect('method/')
else:
return render(request,'debate/content.html', 'NoteForm': method)
这是models.py文件:
from django.db import models
class NoteModel(models.Model):
title = models.CharField(max_length=200)
complete = models.BooleanField(default=False)
def __str__(self):
return self.title
这是 content.html 文件:
<button onclick="myFunction()">for</button>
<button onclick="myFunction()">against</button>
<form method="post" action="NoteView/">
%csrf_token%
form.title
<script>
function myFunction()
var x = document.createElement("TEXTAREA");
var t = document.createTextNode("enter your for point");
var y = document.createElement("INPUT");
y.setAttribute("type", "submit");
document.body.appendChild(y);
x.appendChild(t);
document.body.appendChild(x);
</script>
</form>
这是 forms.py 文件
from django import forms
from django.forms import ModelForm
from .models import *
class NoteForm(forms.ModelForm):
class Meta:
model = NoteModel
fields='__all__'
【问题讨论】:
您也可以粘贴您的表单吗,因为您也在模板中调用它? 【参考方案1】:例如,如果您放置一个 h1 标记,您可以通过执行以下操作,使用 onchange
方法查看在 textarea 中输入的数据:
<body>
....
<h1 id="text"></h1>
<form>
....
<script>
function myFunction()
var x = document.createElement("TEXTAREA");
var t = document.createTextNode("enter your for point");
var y = document.createElement("INPUT");
y.setAttribute("type", "submit");
document.body.appendChild(y);
x.setAttribute("id", "textarea");
x.setAttribute("onchange", "showFunction()");
x.appendChild(t);
document.body.appendChild(x)
</script>
</form>
<script>
function showFunction()
let textarea = document.getElementById("textarea").value;
document.getElementById("text").innerHTML = textarea;
</script>
【讨论】:
以上是关于如何使用 django 显示在 textarea 中输入的数据?的主要内容,如果未能解决你的问题,请参考以下文章