`
ipython
  • 浏览: 294668 次
  • 性别: Icon_minigender_1
  • 来自: 佛山
社区版块
存档分类
最新评论

google app engine 上的小脚本

阅读更多

from google.appengine.ext import db
from google.appengine.ext import webapp
from google.appengine.api import users
from google.appengine.ext.webapp.util import run_wsgi_app
from google.appengine.ext.webapp import template
import os,datetime

class data(db.Model):
 id=db.IntegerProperty(default=0)
 title=db.StringProperty()
 author=db.UserProperty()
 content=db.StringProperty(multiline=True)
 create_time=db.DateTimeProperty()

class mainpage(webapp.RequestHandler): 
 def get(self):
  article=data.all().order('-create_time').fetch(10)
  user=users.get_current_user()
  if user:
   url=users.create_logout_url('/')
   dis="welcome %s <a href=%s >logout</a>" %(user,url)
  else:
   url=users.create_login_url('/')
   dis="<a href=%s >login</a>" % url
  values={'article':article,'dis':dis,'user':user}
  self.response.out.write(template.render('index.html',values))
  
class add_article(webapp.RequestHandler):
 def post(self):
  tem=data()
  title=self.request.get('title')
  content=self.request.get('content')
  author=users.get_current_user()
  if title and content and author:
   tem.id=tem.all().count()+1
   tem.title=title
   tem.author=author
   tem.content=content
   tem.create_time=datetime.datetime.now()
   tem.put()
   self.response.out.write('save succeful !!!<a href="/">home</a>')
  else:
   self.response.out.write('something error')
   
class to_add(webapp.RequestHandler):
  def get(self):
   user=users.get_current_user()
   self.response.out.write(template.render('add.html',{'user':user}))
   
class article_manage(webapp.RequestHandler):
 def get(self):
   user=users.get_current_user()
   articles=data.all().order('-create_time').fetch(10)
   value={'user':user,'articles':articles}
   self.response.out.write(template.render('manage.html',value))

class detail(webapp.RequestHandler):
 def get(self,a):
  dd=int(a)
  tem=db.GqlQuery('select * from data where id=:1' ,dd)[0]
  user=users.get_current_user()
  value={'tem':tem,'user':user}
  self.response.out.write(template.render('detail.html',value))
  
class del_article(webapp.RequestHandler):
 def get(self,a):
  dd=int(a)
  tem=db.GqlQuery('select * from data where id=:1' ,dd)[0]
  user=users.get_current_user()
  if user and tem:
   tem.delete()
  self.redirect('/manage/')

class edit_article(webapp.RequestHandler):
 def get(self,a):
  dd=int(a)
  tem=db.GqlQuery('select * from data where id=:1' ,dd)[0]
  user=users.get_current_user()
  value={'tem':tem,'user':user}
  self.response.out.write(template.render('edit.html',value))
  
class save_article(webapp.RequestHandler):
 def post(self,a):
  dd=int(a)
  tem=db.GqlQuery('select * from data where id=:1' ,dd)[0]
  title=self.request.get('title')
  content=self.request.get('content')
  author=users.get_current_user()
  if title and content and author:
   tem.title=title
   tem.author=author
   tem.content=content
   tem.create_time=datetime.datetime.now()
   tem.put()
   self.response.out.write('save succeful !!!<a href="/">home</a>')
  else:
   self.response.out.write('something error')
application = webapp.WSGIApplication( 
                                     [('/', mainpage), 
									  ('/add/',to_add),
                                      ('/sign/',add_article),
									  ('/manage/',article_manage),
									  ('/n%3D(.*)',detail),
									  ('/manage/del/n%3D(.*)',del_article),
									  ('/manage/edit/n%3D(.*)',edit_article),
									  ('/manage/save/n%3D(.*)',save_article),
									  ], 
                                     debug=True) 
def main(): 
  run_wsgi_app(application) 
if __name__ == "__main__": 
  main()
  
  
index.html:
<style>a{text-decoration:none}</style>
{{ dis }}
{%  if user %}
<a href='/add/' > 写文章</a>
<a href='/manage/'> 管理文章</a>
{% endif %}
<br>
<br>
{% if article %}
{% for i in article %}
<div>title:{{i.title}}</div>
<div>author:{{i.author}}</div>
<div>create time: {{ i.create_time }}</div>
<pre>{{i.content}}</pre>
{% endfor %}
{% else %}
暂时没有文章
{% endif %}
manage.html:
<style>a{text-decoration:none}</style>
{{ n}}
{% if user %}
welcome {{user}}
<a href='/' >主页</a>
<a href='/add/' > 写文章</a>
<a href='/manage/'> 管理文章</a>
<br>
{% if articles %}
{% for i in articles %}
<a href="/n={{ i.id }}"  >{{ i.title }}</a>
<a href="/manage/del/n={{ i.id }}">删除</a>
<a href="/manage/edit/n={{ i.id }}">修改</a>
<br>
{% endfor %}
{% else %}
暂时没有文章<br>
{% endif %}
{% else %}
please login first !!!<a href='/'>home</a>
{% endif %}
detail.html:
<style>a{text-decoration:none}</style>
{{ n }}
{% if user %}
<div>welcome {{user}}</div>
<a href='/'> 主页</a>
<a href='/add/' > 写新文章</a>
<a href='/manage/'> 管理文章</a>
{% endif %}
{% if tem %}
<div>title:{{ tem.title }}</div>
<div>author:{{ tem.author }}</div>
<div>create_time{{ tem.create_time }}</div>
<pre>{{ tem.content }}</pre>
{% else %}
没有这样的文章
{% endif %}
edit.html:
<style>a{text-decoration:none}</style>
{%if user %}
welcome {{ user }}
<a href='/'>主页</a><br>
<form action='/manage/save/n={{ tem.id }}' method='post'>
<div>title:<input type='text' name='title' value="{{ tem.title }}"></div>
<div><textarea name='content' rows="30" cols="100" >{{ tem.content }}</textarea></div>
<input type='submit' value='edit article'>
</form>
{% else %}
you have to login to write aritle <a href='/'>home</a>
{% endif %}
add.html:
{%if user %}
welcome {{ user }} <a href='/'>主页</a><br>
<form action='/sign/' method='post'>
<div>title:<input type='text' name='title'></div>
<div><textarea name='content' rows="30" cols="100" ></textarea></div>
<input type='submit' value='add article'>
</form>
{% else %}
you have to login to write aritle <a href='/'>home</a>
{% endif %}
app.yaml:
application: oncyberspace
version: 1
runtime: python 
api_version: 1

handlers:
- url: .*
  script: cms.py
写了一个小小的脚本,用于增加,删除,修改文章。暂时只有这些功能:http://oncyberspace.appspot.com

 
0
0
分享到:
评论
2 楼 ipython 2009-07-23  
没有通过
1 楼 liomao 2009-07-23  
python 没学过,不晓
另,博主的阿里妈妈通过了没有?

相关推荐

    Google App Engine 入门教程

    综上所述,入门教程涉及到了安装与配置Eclipse开发环境、安装Google App Engine插件、创建和配置Web应用项目以及编译时的Java版本兼容性问题,这些知识点对于想要开始使用Google App Engine开发Web应用的开发者来说...

    云端代码Google App Engine编程指南 高清带书签

    在谈论《云端代码Google App Engine编程指南》之前,我们需要先了解一下Google App Engine(GAE)平台的背景知识。Google App Engine(简称GAE)是由Google公司提供的一个无服务器(serverless)的云计算平台,该...

    appengine-java-sdk-1.3.1 GoogleApp开发的SDK(Java版)

    描述中提到的"GoogleApp开发的SDK(Java版)"进一步强调了这个SDK是专门为在Google App Engine上开发Java应用设计的。SDK提供了本地开发环境,开发者可以在本地计算机上模拟Google App Engine的环境,进行应用的开发...

    Google App Engine Documentation

    Google App Engine 是谷歌提供的一项平台即服务(PaaS)产品,允许开发者构建并运行Web应用程序。这个平台的主要特点是它提供了全面的基础设施,包括计算、存储和数据库服务,开发者只需要关注应用逻辑,而无需管理...

    Programming Google App Engine

    A good book to learn Google App Engine.

    google app engine示例源代码

    clock.rar 这是我今天做的一个基于google app engine写的一个在该平台上开发app的示例,通过该示例的学习,我们可以很快上手学会怎样在GAE上开发属于你的应用程序了,希望对大家有用!

    Google App Engine文档

    在**Google App Engine**上开发应用,你需要理解以下几个关键知识点: 1. **开发环境与部署**: 使用Google提供的SDK(软件开发工具包)进行本地开发和测试。SDK包括了模拟器,可以在本地环境中运行App Engine应用。...

    google app Engine for java中文api

    ### Google App Engine for Java中文API知识点详解 #### 一、Google App Engine for Java概览 - **背景介绍**: - Google App Engine最初是专为Python开发者设计的平台,但随着时间的发展,为了满足更广泛开发者...

    Google Appengine应用文档

    本文档将详细讲解如何在 Google App Engine 上安装和部署应用,特别是对于初学者来说,这是一个非常实用的入门级教程。 首先,安装 Google App Engine 插件是开发的第一步。以 MyEclipse 7.5 为例,你需要通过插件...

    Using Google App Engine

    Google App Engine(GAE)是Google推出的一款用于构建和托管Web应用的平台服务,它为开发者提供了丰富的工具和资源,使得开发者能够轻松地在Google的基础设施上运行应用程序。本文章将深入探讨GAE的核心概念、工作...

    Google App Engine 开发包(part1,共2部分)

    Eclipse Google 插件 Google App Engine SDK for Java Google App Engine文档 按钮 Google App Engine 开发包

    google_appengine_1.9.50.7z

    总的来说,"google_appengine_1.9.50.7z"是一个包含Python SDK的压缩包,为开发者提供了在Google云上构建、测试和部署Python应用程序的工具。通过使用这个SDK,开发者可以创建从简单的网站到复杂的实时通信应用(如...

    Google App Engine 最新版 (google_appengine_1.9.91.zip)

    在搭建WebRTC(AppRTC)时,我们会遇到需要部署Google App Engine的难题,并且最近墙的厉害,所以我特地把我珍藏的Google App Engine 最新版(2020-7-5)分享出来,希望可以方便想搭建WebRTC(AppRTC)的同学们

    Python for Google App Engine(PACKT,2015)

    Google App Engine is a key component of the Google Cloud Platform and one of the most comprehensive cloud services. Together with Python, the first programming language ever supported by the platform,...

    Google App Engine的一些限制

    ### Google App Engine的一些限制 Google App Engine (GAE) 是Google Cloud Platform的重要组成部分之一,它为开发者提供了构建高效、可扩展的应用程序的平台。本文旨在详细介绍GAE在资源使用方面的一些关键限制,...

    google_appengine_1.9.50.zip

    2. **高可用性**:由于运行在 Google 的全球分布式基础设施上,App Engine 提供了极高的服务可用性和数据持久性。 3. **免费配额**:对于小型项目,Google App Engine 提供了一定程度的免费资源使用,包括计算时间、...

Global site tag (gtag.js) - Google Analytics