django网址:" Django尝试了这些网址模式"

时间:2016-05-12 20:19:09

标签: django

我正在尝试一个名为blog的Django教程。我有以下结构:

$(".fourthboxes").change(function() {
    alert('yo');
});

FirstBlog|FirstBlog settings urls __init__ etc blog templates | index.html migrations views.py manage.py

view.py

from django.shortcuts import render from django.shortcuts import render_to_response from blog.models import posts def home(request): return render('index.html')

urls.py

我收到此错误:

使用from django.conf.urls import url from django.conf.urls import include from django.contrib import admin urlpatterns = [ url(r'^blog', 'FirstBlog.blog.views.home',name='home'), ] 中定义的URLconf,Django按以下顺序尝试了这些网址格式:FirstBlog.urls

当前网址,并不匹配其中任何一个。

我似乎无法做到正确.. 任何帮助将不胜感激。

谢谢,

3 个答案:

答案 0 :(得分:3)

您正在请求/网址,但您尚未保存任何此类地图。当前映射适用于/blog。所以它适用于同一个网址。 即转到浏览器并请求/blog

如果您需要它适用于/,请适当更改网址。

答案 1 :(得分:1)

在您的博客应用中,创建一个urls.py文件并添加以下代码,这些代码调用主页视图。

博客/ urls.py

from django.conf.urls import url
from . import views

urlpatterns = [
    #url(r'^',views.home, name='home'),

]

然后在您的根网址文件中,可以在 FirstBlog / urls.py

找到
from django.conf.urls import url, include

from django.contrib import admin

urlpatterns = [
    url(r'^blog/',include('blog.urls')), #when you visit this url, it will go into the blog application and visit the internal urls in the app
]

PS: 您的模板应位于 blog / templates / blog / index.html

阅读this docs on templates 以了解django如何定位模板。

这是了解网址的工作原理Urls dispatcher

答案 2 :(得分:0)

你这样做是错误的!尝试使用基于类的视图中的TemplateView来执行此操作,这是django视图的当前标准。

查看django文档:https://docs.djangoproject.com/en/1.9/topics/class-based-views/

urls.py

上使用此功能
from django.conf.urls import url
from django.views.generic import TemplateView

urlpatterns = [
    url(r'^blog/', TemplateView.as_view(template_name="index.html")),
]

然后,在项目根目录中创建一个名为templates的文件夹(如:https://docs.djangoproject.com/en/1.9/intro/tutorial03/#write-views-that-actually-do-something),名为index.html