2009-09-04 3 views
2

Я пытаюсь создать пользовательский вид в администраторе Django. Я читаю с этого сайта, Simple Django Admin Preview, но у меня есть проблема:Django admin, custom view error: invalid literal for int() с базой 10

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',) 

Что означает эта ошибка?

ответ

4

Запрос не подбирается этим URLconf, а по умолчанию администраторский просмотр, который ожидает, что все после того, как приложение/модель станет целым значением первичного ключа.

Возможно, вам потребуется переместить URL-адрес выше в списке URL-адресов, чтобы он доходил до того, который содержит URL-адреса администратора.

+0

Благодаря Даниэль, теперь у меня есть новый одну ошибку: TraceBack (самый последний вызов последнего): Файл «/ домашний/iosira05/WebApps/Джанго/Библиотека/python2. 5/django/core/handlers/base.py ", строка 92, в get_response ответ = обратный вызов (запрос, * callback_args, ** callback_kwargs) ТипError: объект 'str' не может быть вызван – Asinox

1

Что говорит Габриэль, является неправильным. Моя догадка заключается в том, что ваш взгляд после других просмотров администратора в URLConf, поэтому этот URL-адрес попадает в ловушку, которую Django amdin использует «13/preview», может быть действительным PK, поэтому вы должны двигаться этот URL над другими административными.

-2

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>