I'm getting a strange error and can't figure out why. I'd appreciate any input. I've been stuck on this for a few days. Here is my code:
models.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
urls.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'),
)
employee.html
{{ object_list }}
When I run python manage.py runserver and look at http://127.0.0.1:8000/salaries/employee
in my browser, I get this error:
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
Overview. ValueError in Python is raised when a user gives an invalid value to a function but is of a valid argument. It usually occurs in mathematical operations that will require a certain kind of value, even when the value is the correct argument.
Django Exception Example It raises a DoesNotExist exception if data not found. This is Django's built-in exception. It shows the following exception because no record is available at id 12. We can handle it by using try and except, now let's handle this exception.
To resolve the ValueError exception, use the try-except block. The try block lets you test a block of code for errors. The except block lets you handle the error.
Django Q is a native Django task queue and worker application using Python multiprocessing.
urlpatterns = patterns('',
(r'^salaries/employee/$', list_detail.object_list, 'employee_info'),
)
The third item in the tuple needs to be a dictionary, not a string. Try removing the single quotes around employee_info:
urlpatterns = patterns('',
(r'^salaries/employee/$', list_detail.object_list, employee_info),
)
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With