1

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

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

此按钮位于 sample.com 上。用户来并单击此按钮,然后当前网页,http://127.0.0.1:8000/sample更改为http://127.0.0.1:8000/sample2,在 login.html 中定义。出于这个原因,我做了;

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)

网址文件

  urlpatterns = patterns('',
            ('^sample2/$', message),
            ('^sample/$', auth),
  )

首先打开的页面是示例,其中有一个按钮。单击示例上的按钮后,将调用 Sample2。

4

2 回答 2

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
于 2013-02-04T08:40:12.360 回答
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', {} )

我不知道这里重定向的目的是什么。但这就是它的工作原理。

于 2013-02-04T08:39:26.883 回答