0

我是 Django 的菜鸟,所以看起来我可能会错过一些明显的东西。

我正在使用 django userena 应用程序。按照官方文档v我包括这样的userena url

from django.conf.urls import patterns, include, url 
from django.contrib import admin
urlpatterns = patterns('',
# Examples:
   url(r'^accounts/', include('userena.urls')),
   url(r'^admin/', include(admin.site.urls)),
   url(r'^$', 'mysite.views.home', name='home'),
   # url(r'^blog/', include('blog.urls')),
)

当我尝试在我的模板中使用某些 URL 时,它们会正确加载,但不起作用。

        <div class="search_button" type="submit">
            Find
        </div>
        <div href="{% url 'userena_signin' %}" class="enter">
            Sign in
        </div>
        <div href="{% url 'userena_signup' %}" class="enter">
            Sign up
        </div>

当我加载页面时,我可以看到正确的 URL

        <div href="/accounts/signin/" class="enter">
            Sign in
        </div>
        <div href="/accounts/signup/" class="enter">
            Sign up
        </div>

但按下按钮不会导致登录页面,也不会注册。我错过了什么?

4

1 回答 1

3

href 需要应用于<a> 标记。您在 div 上使用它。

这是一个正确的版本:

<div class="search_button" type="submit">
    Find
</div>
<a href="{% url 'userena_signin' %}" class="enter">
    Sign in
</a>
<a href="{% url 'userena_signup' %}" class="enter">
    Sign up
</a>

< div type="submit"> 通常应用于 < input /> 标记,但可能是您有一些我不知道的代码修复。

似乎是纯 HTML 问题,与此处正确使用的 Django 无关;)

于 2015-04-14T20:17:31.463 回答