Django url.py文件配置错误解决办法

来源:互联网 发布:中国移动软件开发公司 编辑:程序博客网 时间:2024/06/06 05:06

在用django搭建博客时由于配置url.py文件错误出现如下异常:

Reverse for 'home' with arguments '()' and keyword arguments '{}' not found. 0 pattern(s) tried: []

初始url.py配置如下:

"""my_blog URL ConfigurationThe `urlpatterns` list routes URLs to views. For more information please see:    https://docs.djangoproject.com/en/1.9/topics/http/urls/Examples:Function views    1. Add an import:  from my_app import views    2. Add a URL to urlpatterns:  url(r'^$', views.home, name='home')Class-based views    1. Add an import:  from other_app.views import Home    2. Add a URL to urlpatterns:  url(r'^$', Home.as_view(), name='home')Including another URLconf    1. Import the include() function: from django.conf.urls import url, include    2. Add a URL to urlpatterns:  url(r'^blog/', include('blog.urls'))"""from django.conf.urls import urlfrom django.contrib import adminfrom article.views import homeurlpatterns = [    url(r'^admin/', admin.site.urls),    url(r'^$', home),    url(r'^(?P<id>\d+)/$','article.views.detail',name='detail'),]
"""my_blog URL ConfigurationThe `urlpatterns` list routes URLs to views. For more information please see:    https://docs.djangoproject.com/en/1.9/topics/http/urls/Examples:Function views    1. Add an import:  from my_app import views    2. Add a URL to urlpatterns:  url(r'^$', views.home, name='home')Class-based views    1. Add an import:  from other_app.views import Home    2. Add a URL to urlpatterns:  url(r'^$', Home.as_view(), name='home')Including another URLconf    1. Import the include() function: from django.conf.urls import url, include    2. Add a URL to urlpatterns:  url(r'^blog/', include('blog.urls'))"""from django.conf.urls import urlfrom django.contrib import adminfrom article.views import homeurlpatterns = [    url(r'^admin/', admin.site.urls),    url(r'^$', home,name='home'),#指定命名空间为’home'    url(r'^(?P<id>\d+)/$','article.views.detail',name='detail'),]

问题解决。
home.html文件如下:

<!--home.html-->{% extends "base.html" %}{% block content %}<div class="posts">    {% for post in post_list %}        <section class="post">            <header class="post-header">                <h2 class="post-title"><a href="{% url 'detail' id=post.id %}">{{ post.title }}</a></h2>                    <p class="post-meta">                        Time:  <a class="post-author" href="#">{{ post.date_time |date:'Y /m /d'}}</a> <a class="post-category post-category-js" href="#">{{ post.category }}</a>                    </p>            </header>                <div class="post-description">                    <p>                        {{ post.content }}                    </p>                </div>                <a class="pure-button" href="{% url 'detail' id=post.id %}">Read More >>> </a>        </section>    {% endfor %}</div><!-- /.blog-post -->{% endblock %}

base.html如下:

<!--base.html--><!doctype html><html lang="en"><head>    <meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="description" content="A layout example that shows off a blog page with a list of posts.">    <title>Andrew Liu Blog</title>    <link rel="stylesheet" href="http://yui.yahooapis.com/pure/0.5.0/pure-min.css">    <link rel="stylesheet" href="http://yui.yahooapis.com/pure/0.5.0/grids-responsive-min.css">    <link rel="stylesheet" href="http://picturebag.qiniudn.com/blog.css"></head><body><div id="layout" class="pure-g">    <div class="sidebar pure-u-1 pure-u-md-1-4">        <div class="header">            <h1 class="brand-title"><a href="{% url 'home' %}">Andrew Liu Blog</a></h1><!--注意此处标签形式为{% url 'home' %}-->            <h2 class="brand-tagline">雪忆 - Snow Memory</h2>            <nav class="nav">                <ul class="nav-list">                    <li class="nav-item">                        <a class="button-success pure-button" href="/">主页</a>                    </li>                    <li class="nav-item">                        <a class="button-success pure-button" href="/">归档</a>                    </li>                    <li class="nav-item">                        <a class="pure-button" href="https://github.com/Andrew-liu/my_blog_tutorial">Github</a>                    </li>                    <li class="nav-item">                        <a class="button-error pure-button" href="http://weibo.com/dinosaurliu">Weibo</a>                    </li>                    <li class="nav-item">                        <a class="button-success pure-button" href="/">专题</a>                    </li>                    <li class="nav-item">                        <a class="button-success pure-button" href="/">About Me</a>                    </li>                </ul>            </nav>        </div>    </div>    <div class="content pure-u-1 pure-u-md-3-4">        <div>            {% block content %}            {% endblock %}            <div class="footer">                <div class="pure-menu pure-menu-horizontal pure-menu-open">                    <ul>                        <li><a href="http://andrewliu.tk/about/">About Me</a></li>                        <li><a href="http://twitter.com/yuilibrary/">Twitter</a></li>                        <li><a href="http://github.com/yahoo/pure/">GitHub</a></li>                    </ul>                </div>            </div>        </div>    </div></div></body></html>

base.html中{% url ‘home’ %}是出问题的关键所在,结局办法就是在views.py中添加命名空间指定名称为home。

0 0
原创粉丝点击