#python #django #web
#python #django #веб
Вопрос:
я пытаюсь обновить проект, который я нашел в Интернете, под названием ‘little ebay’, с django 1.2 до 1.5. Я не могу решить эту проблему … ошибка NoReverseMatch: Обратный для ‘lebay_user_home’ с аргументами ‘()’ и аргументами ключевого слова ‘{}’ не найден.
Это мой urls.py файл
url(r'^profile/user/(?P<user_id>d )/$', lebay_views.view_user_profile, name='lebay_view_user_profile'),
это представление, которое я использую
def view_user_profile(request, user_id):
try:
user = User.objects.get(pk=user_id)
except User.DoesNotExist:
raise Http404
return render_to_response('lebay/view_user_profile.html', {
'user': user,
}, context_instance=RequestContext(request))
и это строка шаблона, которая выдает мне ошибку
<a href="{% url 'com:lebay_view_user_profile' request.user.user.pk %}">View Profile</a>
Пожалуйста, помогите мне, ребята, я схожу с ума от этого. Спасибо
Комментарии:
1. Я не думаю, что URL с именем
lebay_view_user_profile
вызывает проблему, как в ошибке с именем URLlebay_user_home
??2. я публикую lebay_user_home
3. есть ли у вас пространство имен, установленное для приложения
lebay_views
вROOT_URL_CONF
?4. хорошо, к сожалению, я не могу опубликовать представление, мне приходится ждать, потому что правила форума. Да, когда я импортировал представления, я написал «как lebay_views», чтобы я мог вызывать их таким образом
Ответ №1:
Это неправильно, request.user.user.pk
это должно быть request.user.pk
:
{% url 'com:lebay_view_user_profile' request.user.pk %}
Для получения дополнительной информации проверьте HttpRequest.user
Комментарии:
1. Программа разделена всего на 3 файла, должен ли я их опубликовать?
Ответ №2:
это URL-адрес lebay_user_home
url(r'^home/$', lebay_views.view_user_home, name='lebay_user_home'),
и это связанный вид
@login_required
def view_user_home(request):
item__status=AUCTION_ITEM_STATUS_RUNNING)
won_auctions = AuctionEvent.objects.filter(winning_bidder=request.user.user, item__status=AUCTION_ITEM_STATUS_SOLD)
listable_items = Item.objects.filter(seller=request.user.user, status=AUCTION_ITEM_STATUS_IDLE)
return render_to_response('lebay/view_user_home.html', {
'current_auctions': current_auctions,
'won_auctions': won_auctions,
'listable_items': listable_items,
}, context_instance=RequestContext(request))