点击按钮后加载新页面(不重复)

Loading new page after button is clicked (not duplicate)

本文关键字:新页面 按钮 加载      更新时间:2023-09-26

我正在开发一个web应用程序(用于学习目的),我被困在如何在单击特定按钮后加载另一个页面

我使用django 1.4.5 web框架与python 2.7.4我已经设计了所有的html页面和javascript和css文件。

我不知道关于httprequest。在学习各种教程时,我遇到了这三种方法。

1)

xhr = new XMLHttpRequest();
xhr.open("GET","screen2/",false);
xhr.send(null);

2)

location.href="/screen2/"

3)

window.open("/screen2/","_parent");

所有按钮都保留在功能setup()内,按钮的onclick设置为onclick="setup()"

是的,我将它们注释掉,以便每次只保留其中一个"存活"。

django url .py文件:

urlpatterns = patterns('',
    url(r'^screen1/$',screen1),
    url(r'^screen2/$',screen2),
)

django views.py文件

def screen1(request):
    f = open(r"mysite/frontend/1st screen.html",'r')
    html = f.read()
    return HttpResponse(html)
def screen2(request):
    f = open(r'mysite/frontend/2nd Screen.html','r')
    html = f.read()
    return HttpResponse(html)

第二个和第三个方法可以工作,第一个不行。我不明白为什么。

还有,如何随请求发送相应的脚本和css文件

第一个是使用javascript发出ajax请求。响应包含在javascript中。另外两个是改变网页的位置(url)。

另外:Django提供了一个完整的模板引擎和模板加载器,它为你打包了所有的模板加载。您不应该像下面这样手动打开文件并读取其内容并将其作为字符串返回:

def screen2(request):
    f = open(r'mysite/frontend/2nd Screen.html','r')
    html = f.read()
    return HttpResponse(html)

django教程提供了一个如何使用django内置函数渲染模板的示例

我假设你没有做任何配置来提供静态文件(如何发送相应的脚本和css文件与请求?)。Django提供了如下示例