python - Django 中的值错误

标签 python django

我遇到了一个奇怪的错误,无法弄清楚原因。我很感激任何意见。我已经坚持了几天了。这是我的代码:

模型.py

class Employee(models.Model): 
    lastname = models.CharField(max_length=75) 
    firstname = models.CharField(max_length=75) 
    position = models.ForeignKey(Position) 
    jurisdiction = models.ForeignKey(Jurisdiction) 
    basepay = models.FloatField()
    ot = models.FloatField()
    benefits = models.FloatField()
    totalpay = models.FloatField()

    class Meta: 
        ordering = ['lastname', 'firstname'] 
    def __unicode__(self): 
        return "%s %s" % (self.firstname, self.lastname) 
    def full_name(self): 
        return "%s, %s" % (self.lastname, self.firstname) 
    def get_absolute_url(self): 
        return "/salaries/employee/%s/" % self.id  

网址.py

from django.conf.urls.defaults import *
from djangodemo.salaries.models import Employee
from django.views.generic import list_detail

employee_info = {
    "queryset" : Employee.objects.all(),
    "template_name" : "salaries/employee.html",
}

urlpatterns = patterns('',     
    (r'^salaries/employee/$', list_detail.object_list, 'employee_info'),
)

员工.html

{{ object_list }}

当我运行 python manage.py runserver 并在浏览器中查看 http://127.0.0.1:8000/salaries/employee 时,出现此错误:

Traceback (most recent call last):

  File "F:\django\instantdjango\Python26\Lib\site-packages\django\core\servers\basehttp.py", line 279, in run
    self.result = application(self.environ, self.start_response)

  File "F:\django\instantdjango\Python26\Lib\site-packages\django\core\servers\basehttp.py", line 651, in __call__
    return self.application(environ, start_response)

  File "F:\django\instantdjango\Python26\Lib\site-packages\django\core\handlers\wsgi.py", line 241, in __call__
    response = self.get_response(request)

  File "F:\django\instantdjango\Python26\Lib\site-packages\django\core\handlers\base.py", line 73, in get_response
    response = middleware_method(request)

  File "F:\django\instantdjango\Python26\Lib\site-packages\django\middleware\common.py", line 57, in process_request
    _is_valid_path("%s/" % request.path_info)):

  File "F:\django\instantdjango\Python26\Lib\site-packages\django\middleware\common.py", line 142, in _is_valid_path
    urlresolvers.resolve(path)

  File "F:\django\instantdjango\Python26\Lib\site-packages\django\core\urlresolvers.py", line 294, in resolve
    return get_resolver(urlconf).resolve(path)

  File "F:\django\instantdjango\Python26\Lib\site-packages\django\core\urlresolvers.py", line 218, in resolve
    sub_match = pattern.resolve(new_path)

  File "F:\django\instantdjango\Python26\Lib\site-packages\django\core\urlresolvers.py", line 123, in resolve
    kwargs.update(self.default_args)

ValueError: dictionary update sequence element #0 has length 1; 2 is required

最佳答案

urlpatterns = patterns('',     
    (r'^salaries/employee/$', list_detail.object_list, 'employee_info'),
)

元组中的第三项需要是字典,而不是字符串。尝试删除 employee_info 周围的单引号:

urlpatterns = patterns('',     
    (r'^salaries/employee/$', list_detail.object_list, employee_info),
)

关于python - Django 中的值错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2032360/

相关文章:

python - 访问存储在 pandas dataframe 中的数组

django - ID 为 "Some_ID"的表名不存在。也许它被删除了? Django Sqlite

django - 为什么 Django 实际上不将更改写入测试数据库

python - Listview 基于类的 View 无法正常工作

django-imagekit - 显示默认图像的更好方式?

python - 我收到错误 No JSON object could be decoded but with a valid JSON file

python - TypeError : int() argument must be a string or a number, not 'list' 。程序在将 unicode 转换为 int 时出错

python - 使用 Python 从 Azure Key Vault 解码 JsonWebKey

python - 在pandas中,如何将groupby聚合的结果分配给原始df中的下一组?

python - 使用 Django 在 Heroku 上进行 Redshift 连接