2017-01-05 6 views
0

Я работаю над проектом, написанным на Python/Django, и недавно исправил ошибку в проекте (используя локальную ветвь Git dateReceived, чтобы внести изменения и исправить ошибку, затем слияние ветвь dateReceived с master на моей локальной машине). Я тестировал, что ошибка была исправлена ​​на моей локальной ветке master, и когда я был счастлив, что это произошло, я переместил свои изменения на сервер.Python/Django NoReverseMatch в

Однако, при работе с текущей версией, кажется, что это нарушило другую часть веб-сайта, и когда я нажимаю кнопку, которая приводит вас к URL-адресу `http://.../adds_omits/, я получаю страницу с ошибкой, отображаемую в браузер, который говорит:

NoReverseMatch at /.../adds_omits/ 

Reverse for 'export_csv' with arguments '('',)' and keyword arguments '{}' not found. 1 pattern(s) tried: [u'costing/(?P<budget_id>[0-9]+)/export-csv/$'] 

и что там был

Error during template rendering 

Reverse for 'export_csv' with arguments '('',)' and keyword arguments '{}' not found. 1 pattern(s) tried: [u'costing/(?P<budget_id>[0-9]+)/export-csv/$'] 

Это сообщение об ошибке указывает на следующую строку из шаблона, что этот URL визуализирует:

<a class="button m-r-md" href="{% url 'costing:export_csv' budget.id %}">Export to Excel</a> 

и 'Traceback' отображаются следующие сообщения выделены жирным шрифтом:

return permission_required(required_permission)(view_func)(request,*view_args,**view_kwargs) 

&

return render(request, 'costing/adds_omits.html', context) 

Это второе сообщение в государствах 'TraceBack', что он исходит из costing/views.py в adds_omits

Я не понимаю, почему я сейчас получаю эту ошибку, учитывая, что я не внес никаких изменений в t hese файлы в ветке dateReceived, которые я недавно объединил с master ... Как я могу устранить эту ошибку? Я действительно не хочу возвращаться к предыдущей фиксации, так как это приведет к отмене рабочего исправления, которое я реализовал на ветке dateReceived ...?

ответ

0

Посмотрите на первое сообщение об ошибке:

Reverse для 'export_csv' с аргументами '(' ')' и именованных аргументов '{}' не найден. 1 образец (s) попробовал: [u'costing// экспорт CSV/$ '(P [0-9] +?)]

ваш URL ожидает целое число (ну, строка из числовых на самом деле), но вызов reverse получил пустую строку. Очевидно, либо нет project в контексте вашего шаблона, либо независимо от того, что project решает, что не имеет атрибута id или пустого (None или любого другого) атрибута id.