Django - 当前的URL,与其中任何一个都不匹配

时间:2016-04-20 12:17:22

标签: python django python-2.7 django-views django-urls

<ion-view view-title="Header"> <ion-content>
<div class="im-wrapper">
    <div collection-repeat="item in items">
    <div class="list card">
        <div class="item item-avatar">
            <img ng-src='{{item.authorUrl}}'>
            <h2>{{item.name}}</h2>
            <p>{{item.date}}</p>
        </div>

        <div class="item item-body">
            <img class="full-image" ng-src='{{item.imageUrl}}'>
            <p>{{item.content}}</p>
            <p>
                <a href="#" class="subdued">{{item.likes}} Like</a> <a href="#"
                    class="subdued">{{item.comments}} Comments</a>
            </p>
        </div>
    </div>
    </div>

</div>


</ion-content> </ion-view>

未注释的代码工作正常。但是根据教程,注释代码也必须工作。但它显示错误“当前网址没有匹配任何这些”。代码路径是/ownblog/ownblog/urls.py

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

以上代码位于ownblog / mypage / urls.py

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

以上代码位于ownblog / mypage / views.py中 我缺少什么

5 个答案:

答案 0 :(得分:11)

您需要访问http://localhost:8000/时出现错误消息,因为您尚未在注释代码中为/定义网址格式。该教程告诉您转到http://localhost:8000/polls/。在您的情况下,将其更改为http://localhost:8000/mypage/,因为您使用的是mypage而不是polls

第二个错误No module named views是因为您在网址模式中使用了字符串'views.home'而不是可调用的views.home。确保您也包含导入。

from . import views

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

我注意到你没有密切关注1.9 tutorial。例如,您正在使用patterns()'mypage.views.home'之类的字符串,这些字符串自Django 1.8以来都已过时。我认为你会发现在开始更改大量内容之前完全按照教程进行操作很有用。

答案 1 :(得分:0)

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/

请下载工作&#34; HelloWorld&#34; django 1.10中的例子

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

答案 2 :(得分:0)

您只能在urls.py文件中的urlpatterns上方看到django的注释行。

会有一种设置要导入的url路径的模式,您可以复制粘贴该URL并根据视图的名称更改属性。

之所以这样说是因为urlpatterns因版本而异,因此要根据您的Django版本写url,您可以参考它。

答案 3 :(得分:0)

我认为这只是语法错误。 也许您正在遵循旧的教程。 试试这个:

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

这一次对我而言有效,但是我仍然不确定为什么!

答案 4 :(得分:0)

看起来你在看旧教程,试试这个

from django.contrib import admin
from django.urls import include, path
from polls<your_app> import views


urlpatterns = [
    ...
    path('', views.home, name = 'home'),
] 
相关问题