我正在尝试创建一个简单的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>
答案 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_profile
是employeeDetails/
中的文件,否则在employeeDetails/__init__.py
中定义(或以其他方式导入),它会抛出导入错误。
答案 2 :(得分:1)
我假设你想要:
def employeeProfile(request): profile = EmployeeDetails.objects.all()
return render_to_response('employeeProfile.html',{'emp_profile':profile})
正如Yuji指出的那样,看起来emp_profile没有在任何地方定义