我正在尝试一个名为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
当前网址,并不匹配其中任何一个。
我似乎无法做到正确.. 任何帮助将不胜感激。
谢谢,
答案 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