2010-10-13 83 views
0

我正在用python学习GAE。我正在尝试构建最简单的应用程序:从用户获取名称;将名称写入数据存储区;检索名称和显示页面。我试过这个教程,但我仍然不明白如何做到这一点。我很欣赏任何答案。谢谢GAE简单的应用程序问题

+4

1)发布您的代码,仅限相关部分2)发布您的输出/错误消息 – dutt 2010-10-13 02:48:46

回答

3

i'm要发布一个小片段: 创建在根目录中的文件,将其命名为在main.py

from google.appengine.api import users 
from google.appengine.ext import webapp 
from google.appengine.ext.webapp import template 
from google.appengine.ext.webapp.util import run_wsgi_app 

# Pagina principal 
class MainPage(webapp.RequestHandler): 
    def get(self): 
     if users.get_current_user(): 
      url = users.create_logout_url(self.request.uri) 
      url_linktext = "Bem Vindo: "+ str(users.get_current_user()) + ". Logout " 
     else: 
      url = users.create_login_url(self.request.uri) 
      url_linktext = ' Entrar ' 
     values = { 
        'url': url, 
        'url_linktext': url_linktext, 
        } 
     self.response.out.write(template.render('templates/index.html', values)) 

application = webapp.WSGIApplication([ 
             ('/', MainPage),          
             ],debug=True) 

def main(): 
    run_wsgi_app(application) 

if __name__ == "__main__": 
    main() 

然后创建您的根目录的文件夹,命名为模板。内部模板创建一个文件并将其命名为base.html

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
<html xmlns="http://www.w3.org/1999/xhtml"> 
<head> 
<link href="styles/style.css" rel="stylesheet" type="text/css" /> 
</head> 
<body> 
<div id="mainContainer"> 
     <!--menu--> 
     <div id="menu"> 
     <ul id="menuUl"> 
      <li class="selected"><a href="/"> Inicio </a> </li> 
      <li><a href="#">Sobre</a></li> 
      <li><a href="#">Else</a></li> 
      <li><a href="#">Portfolio</a></li> 
      <li><a href="#">Contacto</a></li> 
     </ul> 
     </div> 
     <!--End menu--> 

    </div> 
    <hr /> 
    <!--End Navigation--> 
    <div id="header" > 

{% block header %} {% endblock %} 

    </div> 
    <div id="contentContainer"> 
     <!--content--> 
     <div id="content"> 

{% block main %} {% endblock %} 


     </div> 

     <div id="contentBottom" > 
     <div id="contentBottomLeft"></div> 
     <div id="contentBottomRight"></div> 
     </div> 
    </div> 
    <div id="footer"> 
     <div id="footerMenu"> 
     <ul> 
      <li class="selected"><a href="/"> Inicio </a> </li> 
      <li><a href="#">Sobre</a></li> 
      <li><a href="#">Ipca</a></li> 
      <li><a href="#">Portfolio</a></li> 
      <li><a href="#">Contacto</a></li> 
     </ul> 
     </div> 
     <p>Copyright &copy; 2010 Martin . Todos os direitos reservados.</p> 
    </div> 
    </div> 
</div> 
</body> 

</html> 

此页面是静态的。此代码{%block main%} {%endblock%} and this {%block header%} {%endblock%}此代码表示将接收模板的变量。所以如果你想把内容放在标题和内容上,你必须创建一个新文件,我们来调用index.html。

{% extends "base.html" %} 

{% block header %} 
    <div class="hello"> 
     <a href="{{ url }}">{{ url_linktext }}</a>  
    </div> 

{% endblock %} 

{% block main %} 
     <h1>Um pouco de palha</h1> 
     <p class="smallSubtitle">Isto e mais palha .......</p> 

{% endblock %} 

当你创建一个新的模板文件,你必须把这个代码{%伸出“base.html文件”%}然后you'll调用从标题和内容块,并填满它。

这是做什么提出了一个页面与登录信息在它的头。如果你还没有登录,它将重定向你登录,否则(这意味着,你已经登录)显示登出按钮。然后在内容块上呈现虚拟内容