ViewDoesNotExist错误

时间:2011-02-23 04:20:40

标签: python django django-models django-templates django-views

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

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'),

TEMPLATE

<html>
<body>

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

3 个答案:

答案 0 :(得分:3)

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

您在第2行将其命名为profile,然后您尝试将其作为emp_profile放在第3行的字典中。

答案 1 :(得分:1)

from task.employeeDetails import emp_profile

什么是emp_profile完全是什么?从它的外观来看,employeeDetails是您的目录的名称,因此除非emp_profileemployeeDetails/中的文件,否则在employeeDetails/__init__.py中定义(或以其他方式导入),它会抛出导入错误。

答案 2 :(得分:1)

我假设你想要:

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

正如Yuji指出的那样,看起来emp_profile没有在任何地方定义