簡體   English   中英

Django - ModelForm 到模板不提交數據

[英]Django - ModelForm to template not submitting data

我的 Django 模板沒有提交數據! 我知道這是非常基本的事情,但我在這里無法意識到一些事情! 我的模型是:

class project(models.Model):
    Project_Name = models.CharField(max_length=50)

我的 ModelForm 是:

class create_project(forms.ModelForm):     
  class Meta:
     model = project
     fields = ['Project_Name']

視圖.py

def project_create_view(request):
    form = create_project(request.POST or None)
    msg  = ''
    if form.is_valid():
        form.save()
        msg = 'Data Submitted'
        form = create_project()
    return render(request, 'create_project.html', {'form':form, 'msg':msg})

我的模板是:

<form action="" method="POST">
    {% csrf_token %}
<table border="1">
        <tr>
            <td>
                <div>
                    <label for="id_Project_Name">Project Name</label>
                    <input type="text" name="Project_Name" id="id_Project_Name">
                </div>
            </td>
        </tr>
</table>
<input type="submit"  value="Submit">
</form>

我的上下文字典是“表單”,我嘗試了很多在線搜索方法,但沒有運氣,有人可以幫忙嗎?...我沒有粘貼所有項目,因為其余字段的情況類似。

在你的 html 中,

<form method="POST" action="#keep it blank or add action as per your requirement" enctype="multipart/form-data">
    {% csrf_token %}
    {% for field in form %}
    <span> {{field.errors}} </span>
    <div> {{field}} </div> #you can add label or placeholder as per your requirement
    {% endfor %}
    <input type="submit" value="Submit">
 </form>

您尚未在 html 中添加 enctype。 注意:您可以修改您的視圖。

在得到一位經驗豐富的朋友的支持后,我設法以這種方式解決了這個問題:

<td>
        <div>
            <label for="{{form.Project_Name.name}}">Project Name</label>
            <input type="text" name="Project_Name" id="{{form.Project_Name.name}}">
        </div>
</td>

暫無
暫無

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

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