GAE простой вопрос о приложении - PullRequest
0 голосов
/ 13 октября 2010

Я изучаю GAE с Python. Я пытаюсь создать максимально простое приложение: получить имя от пользователя; написать имя в хранилище данных; восстановить имя и отобразить страницу. Я попробовал учебник, но я все еще не понимаю, как это сделать. Я ценю любые ответы. Спасибо

1 Ответ

3 голосов
/ 13 октября 2010

Я собираюсь опубликовать небольшой фрагмент: Создайте файл в корневом каталоге, назовите его 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()

затем создайте папку в корневом каталоге, назовите ее templates. Внутри шаблонов создайте файл и назовите его 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%} и этот {% 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 %}

Когда вы создаете новый файл шаблона, вы должны поместить этот код {% extends "base.html"%} , а затем вы вызовете блок из заголовка и содержимого и заполните его.

Для этого используется страница с информацией для входа в заголовок. Если вы еще не вошли в систему, он перенаправляет вас в систему, иначе (это означает, что вы уже вошли) показывает кнопку «Выход». Затем представляет фиктивный контент в блоке контента

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...