【发布时间】:2019-11-30 04:01:01
【问题描述】:
我有一个更新功能,允许用户使用 django 更新插入的记录。我试图根据 id 过滤对象。然后,一旦我返回 id,我假设我能够获取所有字段。
问题是当我去更新页面时,表单是空的,没有数据返回。
views.py
def update(request,pk):
#deny anonymouse user to enter the create page
if not request.user.is_authenticated:
return redirect("login")
else:
dbEntry = suspect.objects.filter(pk =pk)
print( "db entry : ",dbEntry)
return render(request,'blog/update.html', {"dbEntry":dbEntry})
update.html
{% extends "base.html" %}
{% load static %}
{% block body %}
<head>
<link rel="stylesheet" type="text/css" href="{% static '/css/linesAnimation.css' %}">
<link rel="stylesheet" type="text/css" href="{% static '/css/input-lineBorderBlue.css' %}">
<link rel="stylesheet" type="text/css" href="{% static '/css/dropDown.css' %}">
<link rel="stylesheet" type="text/css" href="{% static '/css/home.css' %}">
<link rel="stylesheet" type="text/css" href="{% static '/css/meta-Input.css' %}">
<meta name= "viewport" content="width=device-width, initial-scale=1.0">
<script type="text/javascript" src="{% static '/js/jquery-3.1.1.min.js'%}"></script>
<title>Welcome</title>
</head>
<body>
<div class="lines">
<div class="line"></div><div class="line"></div>
<div class="line"></div><div class="line"></div>
<div class="line"></div><div class="line"></div><div class="line"></div>
</div>
<form enctype="multipart/form-data">
<div id='left-column-Input' class="formInput" include="select()">
<div class="forminputs">
<input type="text" id="fname" name="fname" autocomplete="off" required />
<label for="fname" class="label-name">
<span class="content-name" name="fname">{{dbEntry.suspect_name}}</span>
</label></div>
<div class="home-Button">
<button id="save" name="save" type="submit">Edit</button>
<button id="clear" name="clear" type="submit">Clear</button>
</div>
</div>
【问题讨论】:
-
如果你尝试
dbEntry = suspect.objects.get(pk=pk)而不是dbEntry = suspect.objects.filter(pk =pk)会发生什么
标签: django forms django-templates