从一个地方重定向到另一个地方

时间:2013-02-04 08:18:12

标签: python html django web

我在html文件中有一个定义为;

的按钮
<input type="submit" value="Log In" name="login_button" style="width: 109px; "/>

此按钮位于sample.com上。 USer点击此按钮,然后当前网页http://127.0.0.1:8000/sample更改为login.html上定义的http://127.0.0.1:8000/sample2。出于这个原因,我已经完成了;

def auth(request):
  if 'login_button' in request.POST:
    // redirect the web page to the sample2.com
  return render_to_response('login.html', {} )

我试过redirect("http://127.0.0.1:8000/sample2),但它没有奏效。我怎么能去另一页。

此功能上定义的其他网页

  def message(request):
          current_date_T = Template ("<p style=\"text-align: right;\">\
                                {{Date|truncatewords:\"8\"}}\
                            </p>")

          # --
          return HttpResponse(html)

url file

  urlpatterns = patterns('',
            ('^sample2/$', message),
            ('^sample/$', auth),
  )
首先打开的页面是样品,里面有一个按钮。单击样品上的按钮后将调用Sample2。

2 个答案:

答案 0 :(得分:2)

您只需要redirect而不是render_to_response。请尝试以下方法:

def auth(request):
    if 'login_button' in request.POST:
        # redirect the web page to the /sample2
        return redirect('/sample2/')
    else:
        # Do something else

答案 1 :(得分:1)

首先为您的网址定义名称:

urlpatterns = patterns('',
    url('^sample2/$', message, name="message_view"),
    url('^sample/$', authentication, name="auth_view"),
)

然后使用url反向分辨率技术使用url:

的名称获取视图的url
def auth(request):
    if request.method == 'POST':
        // redirect the web page to the sample2.com
        return redirect(reverse('message_view'))
    return render_to_response('login.html', {} )

我不知道重定向的目的是什么。但那就是它的运作方式。