簡體   English   中英

Django表單元素未在html頁面中呈現

[英]Django form element does not render in the html page

我有一個簡單的django應用程序來獲取一些輸入過程,並運行一個后台過程以在新頁面上顯示結果。

我有如下的查看代碼

from django.shortcuts import render
from django.http import HttpResponse, HttpResponseRedirect

def index(request):
if request.method == 'POST':
    form = JsonTestForm(request.POST)
    if form.is_valid():
        return HttpResponseRedirect('/result/')
else:
    form = JsonTestForm()
    return render(request, 'ellora/index.html', {'form': form})

表單類如下

from django import forms

class JsonTestForm(forms.Form):
    jsonTest = forms.Textarea(attrs={"class": "txtarea", "placeholder": "Enter your json script here"})

我的模板文件是

      <div class="wrapper">
        <h1>My app</h1>
        <form class="form" method="post" action="/ellora/compute/">
        {% csrf_token %}
        {{ form }}
        <input type="submit" class="submit" value="Generate Test">
      </form>
    </div>

當我運行django服務器時,html文件未顯示文本區域。 我看了一下頁面源,它​​在{{form}}位置只有一個空行。 我期待

<textarea class="txtarea" placeholder="Enter your json script here"></textarea>

為什么表單元素不顯示? 另外,如果我在模板本身中定義了,是否有一種無需使用django.forms.Form.Textarea即可獲取其內容的方法?

Forms.Textarea是一個表單小部件。

from django import forms

class JsonTestForm(forms.Form):
    jsonTest = forms.CharField(widget=forms.Textarea(attrs={"class": "txtarea", "placeholder": "Enter your json script here"}))

應該呈現文本區域。

在表單類中,您正在使用小部件Textarea 您需要使用forms.CharField並將小widget=forms.Textarea指定為widget=forms.Textarea

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM