web-dev-qa-db-ja.com

Django-現在のURL 、、はこれらのいずれとも一致しませんでした

from Django.conf.urls import include, url, patterns
from Django.contrib import admin

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


urlpatterns = patterns('',
url(r'^$', 'mypage.views.home', name='home'),
url(r'^admin/', admin.site.urls),
)

コメントされていないコードは正常に機能しています。しかし、チュートリアルによると、コメントされたコードも機能する必要があります。しかし、「現在のURLはこれらのいずれにも一致しませんでした」というエラーが表示されます。コードパスは/ownblog/ownblog/urls.pyです。

urlpatterns = patterns('',
url(r'^$', 'views.home', name='home'),
)

上記のコードはownblog/mypage /urls.pyにあります

def home(request):
    return HttpResponse("Hello, world. You're at the polls index.")

上記のコードはownblog/mypage /views.pyにあります私が欠けているもの

4

コメントされたコードで/のURLパターンを定義していないため、_http://localhost:8000/_にアクセスしたときのエラーメッセージが表示されます。チュートリアルでは、_http://localhost:8000/polls/_に移動するように指示されています。あなたの場合、mypageの代わりにpollsを使用するので、それを_http://localhost:8000/mypage/_に変更します。

2番目のエラー_No module named views_は、呼び出し可能な_'views.home'_の代わりに文字列_views.home_をURLパターンで使用したためです。インポートも含めるようにしてください。

_from . import views

urlpatterns = [
    url(r'^$', views.home, name='home'),
]
_

1.9チュートリアル に厳密に従っていないことに気づきました。たとえば、patterns()と_'mypage.views.home'_のような文字列を使用していますが、どちらもDjango 1.8以降、古くなっています。チュートリアルに従うと便利だと思います。たくさんのものを変更し始める直前。

13
Alasdair

Djangoの新機能には新しいソリューションが必要です...

from Django.conf.urls import url
from Django.contrib import admin

from polls.views import urls

urlpatterns = [
    ...
    url(r'^polls/$', urls),
] 

ブラウザに入力し、Django 1.10でテスト済み

http:// localhost:8000/polls /

Django 1.10で動作する「HelloWorld」の例をダウンロードしてください

https://mega.nz/#!qFsgBbRD!lAKKprkMLmhJcaZ8h5NPxkZcfQpB8qrh1nU4rSSaRAo

構文の誤りだと思います。たぶんあなたは古いチュートリアルに従っています。これを試してください:

url(r'^$',views.home,name='home')

これで問題が解決しない場合は、これを試してください(個人的にはお勧めしません。この地域ではまだ疑問があります)。

from Django.urls import path
from mypage(appName) import views
...
urlpatterns = [
       path(r'^$', views.home, name='home'),
       path(r'^admin/', admin.site.urls),
]

私の場合、これは一度は機能しましたが、理由はまだわかりません。

0
Shreyas Jain

コメント行は、urls.pyファイルのurlpatternsの上にDjangoで表示されます。

インポートするURLのパスを設定するパターンがあります。それをコピーして貼り付け、ビューの名前に応じて属性を変更できます。

Urlpatternsはバージョンごとに異なるため、これを言います。Djangoバージョンに応じてurlを書き込むと、それを参照できます。

0
Ritesh Sharma