首先,我是新来的,所以如果我犯了任何错误,请指出它们。
我正在使用python中的app引擎项目,我希望能够以.swf格式上传和玩游戏。我无法让应用引擎发送(传送,渲染,显示,...不确定正确的术语是什么).swf结尾的文件。
我做错了什么?
我已经尝试在我的对象标签中嵌入一张图片,以确保我的html和Django模板不会导致问题,并且工作正常。
这是我的app.yaml文件
application: flashstealer
version: 1
runtime: python
api_version: 1
handlers:
- url: /stylesheets
static_dir: stylesheets
- url: /images
static_dir: images
- url: /flashgames
static_dir: flashgames
- url: .*
script: main.py
...和我的main.py
import wsgiref.handlers
from google.appengine.ext import db
from google.appengine.ext import webapp
from google.appengine.ext.webapp import template
class Game(db.Model):
name = db.StringProperty()
description = db.StringProperty()
tags = db.StringListProperty()
playcount = db.IntegerProperty()
location = db.StringProperty()
originallocation = db.StringProperty()
class MyHandler(webapp.RequestHandler):
def get(self):
games = db.GqlQuery('SELECT * FROM Game LIMIT 20')
self.response.out.write(template.render('main.html',{'games': games}))
def post(self):
game = Game(
name = self.request.get('name'),
description = self.request.get('description'),
#tags = self.request.get('tags'),
#playcount = self.request.get('playcount'),
location = self.request.get('location'),
originallocation = self.request.get('originallocation'))
game.put()
self.redirect("/")
def main():
app = webapp.WSGIApplication([(r'.*', MyHandler)],debug=True)
wsgiref.handlers.CGIHandler().run(app)
if __name__ == '__main__':
main()
...和我的main.html
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
<title>Emporium by Free Css Templates</title>
<meta name="keywords" content="" />
<meta name="description" content="" />
<link href="stylesheets/default.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="wrapper">
<!-- start header -->
<div id="logo">
<h1><a href="#">The Arcade</a></h1>
<h2> » but just a fondation for now</h2>
</div>
<div id="header">
<div id="menu">
<ul>
<li class="current_page_item"><a href="#">Homepage</a></li>
<li><a href="#">Blogs</a></li>
<li><a href="#">Photos</a></li>
<li><a href="#">About</a></li>
<li class="last"><a href="#">Contact</a></li>
</ul>
</div>
</div>
<!-- end header -->
</div>
<!-- start page -->
<div id="page">
<!-- start content -->
<div id="content">
{% for game in games %}
<div class="post">
<h1 class="title">{{game.name}}</h1>
<div class="entry">
<embed src="{{game.location}}" width="100%" height="400">
<p>{{game.description}}</p>
</div>
<div class="meta">
<p class="links">
<a href="#" class="more">Read full article</a>
<b>|</b>
<a href="#" class="comments">Play Count ({{game.playcount}})</a>
</p>
</div>
</div>
{% endfor %}
<div class="post">
<h2 class="title">Submit Games Here</h2>
<div class="entry">
<form action="" method="post">
<fieldset>
Name:<p><input type="stringfield" name="name" ></p>
Descrition:<p><input type="stringfield" name="description"></p>
Original Location:<p><input type="stringfield" name="originallocation"></p>
Playcount:<p><input type="stringfield" name="playcount" ></p>
Location:<p><input type="stringfield" name="location"></p>
Tags:<p><input type="stringfield" name="tags"></p>
<p><input type="submit" value="post"></p>
</fieldset>
</form>
</div>
<div class="meta">
<p class="links">
<a href="#" class="more">Read full article</a>
<b>|</b>
<a href="#" class="comments">Comments (32)</a>
</p>
</div>
</div>
</div>
<!-- end content -->
<!-- start sidebar -->
<div id="sidebar">
<ul>
<li id="search">
<h2>Search</h2>
<form method="post" action="">
<fieldset>
<input type="text" id="message" name="message" value="" />
<input type="submit" id="x" value="Search" />
</fieldset>
</form>
</li>
<li>
<h2>To Do</h2>
<ul>
<li><a href="#">make a list of games in db</a></li>
</ul>
</li>
</ul>
</div>
<!-- end sidebar -->
<div style="clear: both;"> </div>
</div>
<!-- end page -->
<!-- start footer -->
<div id="footer">
<p id="legal"></p>
</div>
<!-- end footer -->
</body>
</html>
因为我是新手我不能直接发布照片
当我查看渲染时(再次调用它的任何内容)html
时,它就会显示出来<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
<title>Emporium by Free Css Templates</title>
<meta name="keywords" content="" />
<meta name="description" content="" />
<link href="stylesheets/default.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="wrapper">
<!-- start header -->
<div id="logo">
<h1><a href="#">The Arcade</a></h1>
<h2> » but just a fondation for now</h2>
</div>
<div id="header">
<div id="menu">
<ul>
<li class="current_page_item"><a href="#">Homepage</a></li>
<li><a href="#">Blogs</a></li>
<li><a href="#">Photos</a></li>
<li><a href="#">About</a></li>
<li class="last"><a href="#">Contact</a></li>
</ul>
</div>
</div>
<!-- end header -->
</div>
<!-- start page -->
<div id="page">
<!-- start content -->
<div id="content">
<div class="post">
<h1 class="title">Test with .swf</h1>
<div class="entry">
<embed src="/flashgames/aow2.swf">
<p>This is were the problem starts because it leaves a spot where the game should be but there's no game.</p>
</div>
<div class="meta">
<p class="links">
<a href="#" class="more">Read full article</a>
<b>|</b>
<a href="#" class="comments">Play Count (None)</a>
</p>
</div>
</div>
<div class="post">
<h1 class="title">Test with .img</h1>
<div class="entry">
<object width="100%" height="400">
<embed src="/images/img01.jpg">
</object>
<p>This is proof that it's not my html and template that's causing the problem</p>
</div>
<div class="meta">
<p class="links">
<a href="#" class="more">Read full article</a>
<b>|</b>
<a href="#" class="comments">Play Count (None)</a>
</p>
</div>
</div>
<div class="post">
<h2 class="title">Submit Games Here</h2>
<div class="entry">
<form action="" method="post">
<fieldset>
Name:<p><input type="stringfield" name="name" ></p>
Descrition:<p><input type="stringfield" name="description"></p>
Original Location:<p><input type="stringfield" name="originallocation"></p>
Playcount:<p><input type="stringfield" name="playcount" ></p>
Location:<p><input type="stringfield" name="location"></p>
Tags:<p><input type="stringfield" name="tags"></p>
<p><input type="submit" value="post"></p>
</fieldset>
</form>
</div>
<div class="meta">
<p class="links"><a href="#" class="more">Read full article</a> <b>|</b> <a href="#" class="comments">Comments (32)</a></p>
</div>
</div>
</div>
<!-- end content -->
<!-- start sidebar -->
<div id="sidebar">
<ul>
<li id="search">
<h2>Search</h2>
<form method="post" action="">
<fieldset>
<input type="text" id="message" name="message" value="" />
<input type="submit" id="x" value="Search" />
</fieldset>
</form>
</li>
<li>
<h2>To Do</h2>
<ul>
<li><a href="#">make a list of games in db</a></li>
</ul>
</li>
</ul>
</div>
<!-- end sidebar -->
<div style="clear: both;"> </div>
</div>
<!-- end page -->
<!-- start footer -->
<div id="footer">
<p id="legal">( c ) 2008. All Rights Reserved. <a href="http://www.freecsstemplates.org/">Bestfriends</a> designed by <a href="http://www.freecsstemplates.org/">Free CSS Templates</a>.</p>
</div>
<!-- end footer -->
</body>
</html>
这些是我的根目录中的文件夹及其内容
答案 0 :(得分:2)
这看起来不像是嵌入Flash应用程序的标准方式 - 而且它不是App Engine问题。你有一个只有维度的对象标签,并且里面有一个嵌入标签,只有一个URL。您是否尝试使用某些标准嵌入标记来执行此操作? Flash环境应该提供一种简单的方法来导出嵌入在HTML页面中的应用程序。您是否尝试过在磁盘上使用简单的静态HTML文件,以便更容易调试并使App Engine脱离等式?