2013-05-10 258 views
0

我开发一个Web应用程序(用于学习目的),我在坚持一个特定的按钮被点击加载新的页面点击按钮后(不重复)

后我使用如何加载其他页面django 1.4.5 web框架与python 2.7.4 我已经设计了所有的html页面以及javascript和css文件。

我不知道HttpRequests。研究各种教程,我遇到了这三种方法。

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的urls.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文件与请求?

回答

1

第一个使用javacript发出ajax请求。该响应包含在JavaScript中。另外两个正在改变网页的位置(网址)。

此外:Django提供了一个完全包含的模板引擎和模板加载器,它为您包装了所有的模板加载。你不应该需要手动打开文件并阅读其内容,并返回它像你这样的字符串是做如下:

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

Django的tutorial提供了如何使使用内置函数

Django的模板的exapmle

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

+0

了解了ajax部分。不,我现在不使用模板。 我以为你已经回答了发送css和js文件的部分,并且我已经接受了答案,但是读了50次这个例子,我没有发现对于像我这样的新人来说足够清楚,并且不能够解决问题呢。请,如果你可以,重新解释。 – tMJ 2013-05-10 21:58:25