我有一个错误,我不知道它是什么意思:
TypeError at / as_view() takes 1 positional argument but 2 were given
from django.db import models
from django.contrib.auth.models import User
from django.contrib import admin
class Employee(models.Model):
user = models.OneToOneField(User)
full_name = models.CharField(max_length=50)
phone_number = models.CharField(max_length=12)
company = models.CharField(max_length=100)
department = models.CharField(max_length=50)
occupation = models.CharField(max_length=50)
class Meta:
verbose_name_plural = 'employees'
admin.site.register(Employee)
视图.py
from django.views.generic import TemplateView
from web_app.models import Employee
class EmployeeTemplateView(TemplateView):
model = Employee.objects.all()
template_name = 'index.html'
context_object_name = 'employee_view'
网址.py
from django.conf.urls import url, include
from web_app import routers
from django.contrib import admin
from . import views
from web_app.views import EmployeeTemplateView
admin.autodiscover()
router = routers.DefaultRouter()
router.register(r'employee', views.EmployeeTemplateView, "Employee")
urlpatterns = ['',
url(r'^$', EmployeeTemplateView.as_view({'emp' : 'employees'})),
]
我做错什么了?
提前谢谢你!
请确保将“as_view()”这样放置。不是“如你所见”。我犯了个大错
因为看起来您只是试图将
employees
变量从视图传递到模板,所以您可以这样发送它:视图.py
url.py
然后可以在模板中使用
context_object_name
,如下所示:index.html
as_view
不接受位置参数,而是接受关键字参数。相关问题 更多 >
编程相关推荐