2016-05-10 12 views
-2

なぜこれで404が得られますか?Djangoフレームワーク - ページが見つかりません

は、これは私の個人用サイト/ urls.pyファイルです:

from django.conf.urls import url, include 
from django.contrib import admin 

urlpatterns = [ 
url(r'^admin/', admin.site.urls), 
url(r'^$/', include('personal.urls')), 
] 

そして、これは私の個人用サイト/ urls.py /個人ファイルです

from django.conf.urls import url 
from . import views 
urlpatterns =[url(r'^$',views.index, name='index')] 

個人用サイト/個人/ views.py

from django.shortcuts import render 

def index(request): 
    return render(request, 'personal/home.html') 

その後、templates/personal/header.htmlのようなテンプレートフォルダを作成しました。ファイルは同じフォルダにhome.htmlについて今、この

<body class="body" style="background-color:#f6f6f6"> 
<div> 
    {% block content %} 
    {% endblock %} 
</div> 
</body> 

のように見えます

{% extends "personal/header.html" %} 
{% block content %} 
<p>Hey! Welcome to my website! Well, I wasn't expecting guests. Um, my name is HVS. I am a programmer.</p> 
{% endblock %} 
私も個人用サイトのサブディレクトリにsettings.pyファイルにAPPをインストールした

が、それでも私は実行したとき

">python manage.py runserver" 

それはURLが404を見つけていないことを私に告げるページBT OK走る!!

これは私のブラウザの出力である:

Screenshot

私はここにこのURLは、これまで

r'^$/' 

一致しませんWindowsの8、パイソン3 &のDjango 1.9

+0

あなたは最も重要な情報を提供していません。どのURLにアクセスしようとしていますか? – DeepSpace

+0

まず、最初の引数 'request'を忘れてしまいました。ところで、私たちはURLが何が起こっているのかを知ろうとする必要があります。 –

答えて

1

をしたい:。

url(r'^/', include('personal.urls')), 

$指定子は常に文字列(すなわちの終わりに一致しますあなたのURL)を超えて追加のパスを含めることはできません。

docs
+0

実際にはこの 'r '^ /'' dintは私にとってはうまくいくが、これは: 'r '^ $'' –

+0

'r '^''を使って末尾のスラッシュを削除する。 'r '^ $'を使うと、あなたのインデックスのURLには使えますが、 'personal/urls.py'に追加する他のURLではうまくいきません。 – Alasdair

1

を使用しています$は文字列の最後に一致します。つまり、/が後に来ることは決してできません。

あなたはおそらく、あなたはpersonal.urlsを含め、あなたのメインurls.pyから$を削除する必要があります

url(r'^personal/', include('personal.urls')), 
+0

何もうまくいかないようですが、この 'r '^ $''だけです。なぜそういうのか説明していただけますか? –

2

をジャンゴによれば

含む()関数は、他のURLconfのを参照することができます。

: は、()関数は、$ (行末にマッチする文字)を持っていないため、正規表現ではなく、最後のスラッシュ

ですから、これにそれを変更する必要があることに注意してください

url(r'^/', include('personal.urls')) 
関連する問題