视图不存在错误

2 投票
3 回答
1527 浏览
提问于 2025-04-16 12:21

我正在尝试做一个简单的Django应用程序,目的是从数据库中读取员工列表并显示出来。为此,我定义了模型,并通过Django的管理后台将数据输入到数据库中。但是在尝试从数据库显示数据时,我遇到了一个错误:“ViewDoesNotExist at /employeeProfile/ : 无法导入 task.employeeDetails.views。错误是:无法导入名称 emp_profile”。我对Django还比较陌生,所以请帮我解决这个问题。我会把代码粘贴在这里。

from django.shortcuts import render_to_response
from django.contrib.auth.models import*
from task.employeeDetails.models import *
from django.conf import settings
from django.http import HttpResponse
from task.employeeDetails import emp_profile

def employeeList(request):
    tableList = EmployeeDetails.objects.all()
    return render_to_response('employeeList.html', {'emp_list': tableList})

def employeeProfile(request):
    profile = EmployeeDetails.objects.all()
    return render_to_response('employeeProfile.html',{'emp_profile':emp_profile})

URLS.PY

(r'^employeeProfile/$','task.employeeDetails.views.employeeProfile'),

模板

<html>
<body>

{%for emp in emp_profile%}
<tr> <td>{{ emp.userName }} {{ emp.designation }} {{  emp.employeeID }}</td> </tr><td>
{%endfor%}
</table></h4>
</body>
</html>

3 个回答

1

我猜你想要的是:

def employeeProfile(request): profile = EmployeeDetails.objects.all() 
return render_to_response('employeeProfile.html',{'emp_profile':profile})

正如Yuji所提到的,emp_profile似乎没有在任何地方定义。

1

from task.employeeDetails import emp_profile

emp_profile是什么?它到底在哪里?看起来,employeeDetails是你的文件夹名字,所以除非emp_profileemployeeDetails/文件夹里的一个文件,或者在employeeDetails/__init__.py里定义(或者在那儿被引入),否则会出现导入错误。

3
def employeeProfile(request):
    profile = EmployeeDetails.objects.all()
    return render_to_response('employeeProfile.html',{'emp_profile':emp_profile})

你在第2行把它命名为 profile,然后在第3行你试着把它放进字典里,叫做 emp_profile

撰写回答