【问题标题】:Django admin, custom view error : invalid literal for int() with base 10Django 管理员,自定义视图错误:int() 以 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', )

这个错误是什么意思?

【问题讨论】:

    标签: django django-admin django-templates django-urls


    【解决方案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
      &lt;script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"&gt;&lt;/script&gt;

      【讨论】:

        猜你喜欢
        • 2012-05-14
        • 1970-01-01
        • 2018-01-25
        • 2012-01-22
        • 1970-01-01
        • 1970-01-01
        • 2017-05-18
        • 2019-03-16
        • 2021-01-28
        相关资源
        最近更新 更多