2010-10-13 95 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調用從標題和內容塊,並填滿它。

這是做什麼提出了一個頁面與登錄信息在它的頭。如果你還沒有登錄,它將重定向你登錄,否則(這意味着,你已經登錄)顯示登出按鈕。然後在內容塊上呈現虛擬內容