0

我的一些 django url 不起作用。我可以访问我的索引页面和 django 管理页面就好了。我可以登录并创建对象没问题。例如,我可以创建一个站点,如下所示,但是当我尝试访问站点集合时,我会遇到 404(即使在创建一个之后)。我也在使用 Django allauth,这些页面也遇到了我的 urlconf 的问题。任何人都可以发现错误吗?

例如,这个网址:

Page not found (404)
Request Method:     GET
Request URL:    http://myapp.com/admin/sites/site/

No reward found matching the query

和这个:

Page not found (404)
Request Method:     GET
Request URL:    http://shielded-island-1440.herokuapp.com/accounts/profile/

Using the URLconf defined in litherewards.urls, Django tried these URL patterns, in this order:

^ ^$ [name='index']
....
^ ^reward/$ [name='reward_list']
^ ^redeem/(?P<reward_code>)/$ [name='redeem_reward']
^ ^redeem/(?P<slug>\w+)/(?P<reward_code>\w+)/$ [name='reward_confirmation']
....
^account/
^sitemap\.xml$
^admin/

我的urlconf如下:

from django.conf.urls import patterns, include, url
from myapp.views import RewardSitemap

# Uncomment the next two lines to enable the admin:
from django.contrib import admin
from django.conf import settings
from django.conf.urls.static import static
admin.autodiscover()

sitemaps = {'rewards':RewardSitemap}
urlpatterns = patterns('',
    url('^', include('myapp.urls', namespace="fluffy")),
    url(r'^account/', include('allauth.urls')),
    url(r'^sitemap\.xml$', 'django.contrib.sitemaps.views.sitemap', {'sitemaps': sitemaps}),
    url(r'^admin/', include(admin.site.urls)),
)

第一个 urlconf 中包含的 myapp url:

urlpatterns = patterns('',
    url(r'^$', IndexView.as_view(), name="index"),
    ....
    url(r'^reward/$', RewardsList.as_view(), name="reward_list"),
    url(r'^redeem/(?P<reward_code>)/$', RedeemReward.as_view(), name="redeem_reward"),
    url(r'^redeem/(?P<slug>\w+)/(?P<reward_code>\w+)/$', RedeemConfirmation.as_view(), name="reward_confirmation"),
)

最后,我ROOT_URLCONF的设置为myapp.urls. 索引页工作得很好。

4

1 回答 1

-1

从我所拥有的有限知识来看,我看到 URl 模式具有“account/”,并且您正在访问“ http://shielded-island-1440.herokuapp.com/accounts/profile/ ”,这将不匹配任何URLConf 中的正则表达式模式。

您可以尝试修改为 url(r'^accounts/', include('allauth.urls')), 吗?

于 2014-07-17T08:11:29.377 回答