name 'edit_load_table' is not defined
Request Method: GET
Request URL: http://127.0.0.1:8000/edit_load/N193
Django Version: 3.1.4
Exception Type: NameError
Exception Value:
name 'edit_load_table' is not defined
Exception Location: C:UsersVirti Parekhprojectstrytotal_loadviews.py, line 45, in edit_load
Python Executable: C:UsersVirti ParekhAppDataLocalProgramsPythonPython37python.exe
Python Version: 3.7.6
Python Path:
['C:\Users\Virti Parekh\projects\try',
'C:\Users\Virti '
'Parekh\AppData\Local\Programs\Python\Python37\python37.zip',
'C:\Users\Virti Parekh\AppData\Local\Programs\Python\Python37\DLLs',
'C:\Users\Virti Parekh\AppData\Local\Programs\Python\Python37\lib',
'C:\Users\Virti Parekh\AppData\Local\Programs\Python\Python37',
'C:\Users\Virti '
'Parekh\AppData\Local\Programs\Python\Python37\lib\site-packages']
Server time: Sat, 05 Dec 2020 19:04:19 +0000
我想从表"中获取特定的empId数据;edit_load_table";。当我点击loaddetails(作为锚标记(时,它将以表格格式获取特定empId数据的数据。
这是我的型号.py代码
class facultyload(models.Model):
empId = models.CharField(max_length=20)
name = models.CharField(max_length=50)
total_load = models.IntegerField()
def __str__(self):
return self.empId
class edit_load_table(models.Model):
empId = models.CharField(max_length=20)
name = models.CharField(max_length=50)
subject_abv = models.CharField(max_length=10)
subject_load = models.IntegerField()
subject_type = models.CharField(max_length=10)
id_key = models.IntegerField()
semester = models.CharField(max_length=20)
def __str__(self):
return self.empId
这是我的观点.py代码
def edit_load(request, empId):
editload = edit_load_table.objects.get(str=empId)
return render(request,"edit_load.html",{'editload':editload})
由于我的empId同时包含字母和数字,所以我给出了str=empId。在我的urls.py中,我通过了
path('edit_load/<str:empId>',views.edit_load)
任何人都可以帮助我解决这个错误,因为我是Django和python的新手。非常感谢。
edit_load.html
<!DOCTYPE html>
<html>
<head>
<title>Faculty's Subject wise Load</title>
{% load static %}
<link rel="stylesheet" href="{% static 'styles/style-main.css' %}"/>
<link rel="stylesheet" href="{% static 'styles/css/bootstrap.min.css' %}"/>
</head>
<body>
<div class="center-div">
{% csrf_token %}
<br>
<br>
<h1>Faculty List with their load</h1>
<div class="table-responsive">
<table>
<thead>
<tr>
<th>Sr No.</th>
<th>Subject Name</th>
<th>Subject Load</th>
<th>Subject Type</th>
<th>Semester</th>
<th colspan="2">operation</th>
</tr>
</thead>
<tbody>
{% for faculty_load in edit_load %}
<tr>
<td>{{faculty_load.id_key}}</td>
<td>{{faculty_load.subject_abv}}</td>
<td>{{faculty_load.subject_load}}</td>
<td>{{faculty_load.subject_type}}</td>
<td>{{faculty_load.semester}}</td>
<td><a href="/facultysubjectDetails/{{faculty_load.id}}" ><span class="btn btn-success">Edit</span></a></td>
<td><a href="/deletedetails/{{faculty_load.id}}" ><span class="btn btn-danger">Delete</span></a></td>
</tr>
{% endfor %}
</tbody>
</table>
</div>
</div>
</body>
</html>
我调用edit_load.html文件的代码段
<td><a href="/edit_load/{{loads.empId}}" data-toggle="tooltip" data-placement="top" title="load details" name="load details" method="GET">Load Details</a></td>
我解决了上述错误,也解决了我在评论中提到的错误。我更改了代码的某些部分。在views.py中,我使用视图从一个ID返回多个数据引用。
views.py
def edit_load(request, empId):
parent = edit_load_table.objects.filter(empId=empId)
context = {'parent':parent}
return render(request,"edit_load.html",context)
在我之前的HTML文件中,我在edit_load%中使用了这个{%for faculty_load},这是错误的,在我得到我们必须传递我在上下文中提到的值之后,它给了我一个错误。
{% for loads in parent %}
<tr>
<td>{{loads.subject_abv}}</td>
<td>{{loads.subject_load}}</td>
<td>{{loads.subject_type}}</td>
<td><a href="/editfacultydetails/{{loads.id}}" ><span class="btn btn-sm btn-info">Edit</span></a></td>
<td><a href="/deletefacultydetails/{{loads.id}}" ><span class="btn btn-sm btn-danger">Delete</span></a></td>
</tr>
{% endfor %}
我希望我的回答会有用。此外,在评论中提到的建议对我很有用。非常感谢。