【问题标题】:Reverse for ''home'' with arguments '()' and keyword arguments '{}' not found未找到带有参数“()”和关键字参数“{}”的“home”的反向操作
【发布时间】:2023-04-03 17:10:02
【问题描述】:

我在 django 中收到“Reverse for ''home'' with arguments '()' and keyword arguments '{}' not found”错误。谁能帮我解决这个问题。

我的 base.html 是

   <html>
<head>
  <title>Steel Rumors</title>
  <link rel="stylesheet" type="text/css" href="{{ STATIC_URL }}css/main.css" />
</head>
<body>
<h1>Steel Rumors</h1>

{% block content %}
{% endblock %}

<footer>
  <p>
    <a href="{% url 'home' %}">Home</a>
 </p>
</footer>
</body>
</html>

我的 urls.py 是

from django.conf.urls import patterns, include, url
from links.views import LinkListView

# Uncomment the next two lines to enable the admin:
from django.contrib import admin
admin.autodiscover()

urlpatterns = patterns('',
    url(r'^admin/', include(admin.site.urls)),
    url(r'^$', LinkListView.as_view(), name='home'),

    url(r"^login/$", "django.contrib.auth.views.login",
        {"template_name": "login.html"}, name="login"),
    url(r"^logout/$", "django.contrib.auth.views.logout_then_login",
        name="logout"),
) 

view.py 是

from django.views.generic import ListView
from .models import Link, Vote

class LinkListView(ListView):
    model = Link
    queryset = Link.with_votes.all()
    paginate_by = 3

django 1.4 版 提前致谢

【问题讨论】:

  • 你使用的是哪个版本的 django?
  • 设置DEBUG=True它会给你更详细的信息。

标签: python django


【解决方案1】:

我会建议你像

一样将 url 调用到你的 base.html 中
<footer>
  <p>
    <a href="{% url home %}">Home</a>
 </p>
</footer>

不带引号的网址名称。

【讨论】:

  • 如果django version>=1.5,不带引号可能会出错,必须写{% url 'home' %}
【解决方案2】:

我之前也遇到过同样的问题,参数是page,试试{% url 'home' 1 %} 我通常这样做(Django 1.6),我想知道是否会找到更好的方法来解决这个问题! 欢迎其他答案!

views.py

from django.http import HttpResponseRedirect
from django.core.urlresolvers import reverse

def reaction_list_home(request):
    return HttpResponseRedirect(reverse('list', args=(1,)))

urls.py

from django.conf.urls import patterns, include, url

from reactions import views

urlpatterns = patterns('',
    url(r'^$', views.reaction_list_home, name='list-home'),
    url(r'^pages/(?P<page>\d+)/$', views.ReactionList.as_view(),name='list'),
)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-07-08
    • 2015-02-18
    • 2016-08-27
    • 2010-12-22
    • 2013-12-07
    • 2015-08-29
    • 2014-05-29
    相关资源
    最近更新 更多