Tôi mới dùng Django và cố gắng chuyển tên của tác giả sang chế độ xem và lọc ra các đối tượng trích dẫn dựa trên tên của tác giả. đây là các mã:Django: chữ không hợp lệ cho int() với số 10
models.py
class Author(models.Model):
author_name = models.CharField(max_length=50, default='unknown')
author_info = models.TextField(max_length=1000)
class Quote(models.Model):
author = models.ForeignKey(Author)
quote = models.TextField(max_length=500)
category= models.ForeignKey(Category)
pub_date = models.DateTimeField('date published')
urls.py:
url(r'^quotes/(?P<name>\w+)/$', 'quotes.views.quotesbyauthor'),
views.py
def quotesbyauthor(request, name):
aquotelist = Quote.objects.filter(author__exact = name)
return render_to_response(quotes_by_author.html, {'aquotelist': aquotelist })
Tuy nhiên tôi nhận được lỗi này khi tôi cố gắng để có được http://127.0.0.1:8000/quotes/you/ ('bạn' là đối tượng tác giả thử nghiệm, đã được tạo)
ValueError at /quotes/you/
invalid literal for int() with base 10: 'you'
Request Method: GET
Request URL: http://127.0.0.1:8000/quotes/you/
Django Version: 1.3.1
Exception Type: ValueError
Exception Value:
invalid literal for int() with base 10: 'you'
Exception Location: /home/qliq/djenv/lib/python2.6/site-packages/django/db/models/fields/__init__.py in get_prep_value, line 479
Python Executable: /home/qliq/djenv/bin/python
Python Version: 2.6.6
Python Path:
['/home/qliq/djenv/quoteapp',
'/home/qliq/djenv/lib/python2.6/site-packages/distribute-0.6.10-py2.6.egg',
'/home/qliq/djenv/lib/python2.6/site-packages/pip-0.7.2-py2.6.egg',
'/home/qliq/djenv/lib/python2.6',
'/home/qliq/djenv/lib/python2.6/plat-linux2',
'/home/qliq/djenv/lib/python2.6/lib-tk',
'/home/qliq/djenv/lib/python2.6/lib-old',
'/home/qliq/djenv/lib/python2.6/lib-dynload',
'/usr/lib/python2.6',
'/usr/lib/python2.6/plat-linux2',
'/usr/lib/python2.6/lib-tk',
'/home/qliq/djenv/lib/python2.6/site-packages']
Tôi đánh giá cao sự giúp đỡ của bạn để giải quyết vấn đề này.
Chỉ là lỗi dán mà mẫu .html của bạn không có dấu ngoặc kép xung quanh nó? – jdi
Cũng xin vui lòng gửi một traceback hoàn chỉnh hơn vì nó phải được cho bạn biết một dòng cụ thể và bối cảnh của lỗi. Hãy thử đặt tên thành từ khóa mặc định như quotesbyauthor (yêu cầu, name = '') – jdi
@jdi, tôi đã cập nhật câu hỏi với thông báo lỗi chi tiết hơn. Ngoài ra, tôi đã thêm dấu ngoặc kép xung quanh tên mẫu, nhưng nó không có hiệu lực. – qliq