Django 管理员,自定义视图错误:int() 以 10 为底的无效文字
Posted
技术标签:
【中文标题】Django 管理员,自定义视图错误:int() 以 10 为底的无效文字【英文标题】:Django admin, custom view error : invalid literal for int() with base 10 【发布时间】:2010-11-25 18:38:43 【问题描述】:我正在尝试在 Django 管理中创建自定义视图。我正在阅读这个网站,Simple Django Admin Preview,但我有一个问题:
ValueError: invalid literal for int() with base 10: '13/preview'
这是我的 url.py:
url(r'^admin/diligencias/diligencia/(?P<object_id>\d+)/preview/$','preview'),
这是我的view.py:
@staff_member_required
def preview(request, object_id):
return object_detail(request, object_id=object_id,queryset=Diligencia.objects.all(), template_object_name = 'diligencia', )
这个错误是什么意思?
【问题讨论】:
【参考方案1】:加布里埃尔所说的不正确。我的猜测是问题在于您的视图是 在 URLConf 中的其他管理视图之后,因此这个 URL 被 Django amdin 使用“13/preview”的一个包罗万象的 URL 捕获可能是一个有效的 PK ,因此您应该将此 URL 移到其他管理员的上方。
【讨论】:
【参考方案2】:该请求没有被那个 URLconf 接收,而是被默认的管理视图接收,它期望 app/model 之后的所有内容都是主键的整数值。
您可能需要在 URL 列表中将您的 URL 移到更高的位置,以便它位于包含管理员 URL 的那个之前。
【讨论】:
谢谢丹尼尔,现在我有一个新错误:回溯(最近一次调用最后一次):文件“/home/iosira05/webapps/django/lib/python2.5/django/core/handlers/ base.py",第 92 行,在 get_response response = callback(request, *callback_args, **callback_kwargs) TypeError: 'str' object is not callable【参考方案3】:def importnum():
n1 = int(raw_input ("enter 1st number?"))
n2 = int(raw_input ("enter 1st number?"))
return n1+n2
def main():
n3=importnum()
print n3*1/2
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
【讨论】:
以上是关于Django 管理员,自定义视图错误:int() 以 10 为底的无效文字的主要内容,如果未能解决你的问题,请参考以下文章