2016-05-12 47 views
-1

我正在嘗試一個名爲博客的Django教程。我有以下結構:django網址:「Django嘗試了這些URL模式」

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'), 
] 

,我得到這個錯誤:

使用FirstBlog.urls定義的URLconf, Django嘗試了這些按以下順序排列的網址格式:^blog [name='home']

當前網址與以上任何網址都不匹配。

我似乎無法得到正確的.. 任何幫助,將不勝感激。

謝謝

+1

的可能的複製[Django的嘗試這些URL模式(http://stackoverflow.com/questions/16157393/django-tried-these-url-patterns) –

回答

3

您所要求的,/ URL和你沒有保存任何這樣的映射。當前映射爲/blog。所以它會適用於相同的網址。 即轉到瀏覽器和請求/blog

如果您需要它爲/工作,然後適當地更改網址。

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

+0

這是否與相同的錯誤:目前的網址沒有匹配任何這些。 (^博客/)。模板文件夾正好在我的應用程序目錄下,與view.py,models.py文件夾遷移相同的地方等等。再次感謝您。 – user2332994

1

在您的博客應用程序中,創建一個urls.py文件並添加以下代碼,該代碼調用hom e檢視。

博客/ 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如何查找模板。

這一個是瞭解的URL是如何工作的Urls dispatcher