【发布时间】:2015-05-21 06:48:27
【问题描述】:
我的 django 项目中有模板。我的 index.html 是一个自定义登录页面。
在views.py中:
def index(request):
return render(request, 'index.html')
只要点击提交按钮,页面就会跳转到:
def checklogin(request):
username = request.POST('username') # input element name in template.
username = request.POST('password') # input element name in template.
if user is None:
return render(request, 'register.html') # Page to register as user.
else:
return render(request, 'home.html')
def home(request):
return render(request, 'home.html')
我的 urls.py:
from myapp import views
urlpatterns = patterns('',
url(r'^login/$', views.index, name=index),
url(r'^login/register/$', views.checklogin, name='register'),
url(r'^$', views.home, name='home'),
)
这很好用。索引页面将您引导至登录。如果你失败了,它会带你注册 - url 从 127.0.0.1:8000/mysite/login 变为 127.0.0.1:8000/mysite/login/register/。
但是,如果登录成功,用户将被带到 home.html,但不是 127.0.0.1:8000/mysite/,而是 127.0.0.1:8000/mysite/login/register/。这会产生一个问题,因为如果我将 def home(request) 中的查询传递给 home.html 模板,它只能在 127.0.0.1:8000/mysite/ 而不是 127.0.0.1:8000/mysite/login/register /.
有人可以帮助我直接指向 def home(request) 而不仅仅是成功登录的 html 吗?
【问题讨论】: