TypeError:as_view()接受1个位置参数,但给出了2个 [英] TypeError: as_view() takes 1 positional argument but 2 were given

查看:352
本文介绍了TypeError:as_view()接受1个位置参数,但给出了2个的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我遇到一个错误,我不确定这是什么意思:

I got an error and I'm not sure what it means:

TypeError at / as_view()接受1个位置参数,但接受2个位置参数

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)

views.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'

urls.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 不会 t接受位置参数,而接受关键词参数。

as_view doesn't take positional arguments, it takes keyword arguments.

EmployeeTemplateView.as_view(emp='employees')

这篇关于TypeError:as_view()接受1个位置参数,但给出了2个的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
相关文章
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆