Hello, I'm new to GAEO from RoR. So I'm new to use python too.
But these day I like python because I found GAEO. Thanks for your
effort, Eric.
Anyway, I tried to use djangoforms. I can make it!
So this is simple sample.
(1) At Terminal
gaeogen scaffold Testform index new create show
(2) Make model(at application/mode/testform.py)
from google.appengine.ext import db
from gaeo.model import BaseModel, SearchableBaseModel
class Testform(BaseModel):
name = db.StringProperty(required=True)
secret = db.StringProperty(required=False)
phone = db.PhoneNumberProperty(required=True)
post_at = db.DateTimeProperty(required=True, auto_now_add=True)
(3)Make controller(at application/controller/testform.py)
import cgi
from google.appengine.ext import db
from gaeo.controller import BaseController
from model.testform import Testform
from google.appengine.ext.db import djangoforms
class TestformController(BaseController):
def create(self):
data = AddForm(data=
self.request.POST)
if data.is_valid:
entity = data.save(commit=False)
entity.update_attributes(secret= "foo")
self.redirect('/testform')
else:
self.redirect('/testform/new')
def index(self):
query = Testform.all()
self.result = query.fetch(limit=1000)
def new(self):
self.form = AddForm()
def show(self):
self.r = Testform.get(self.params.get('id'))
class AddForm(djangoforms.ModelForm):
class Meta:
model = Testform
exclude = ['secret']
(4)Make new.html(At application/templates/new.html) : you just add
only {{ form }}
{% extends "../base.html" %}
{% block title %}TestformController#new{% endblock %}
{% block content %}
<form action="/testform/create" method="post">
<fieldset>
<legend>New Testform</legend>
{{ form }}
<p><input type="submit" value="Submit"></p>
</fieldset>
</form>
{% endblock %}
(5)Make show.html(At application/templates/show.html) :
{% extends "../base.html" %}
{% block title %}TestformController#show{% endblock %}
{% block content %}
{{
r.name }}:{{ r.phone }}:{{ r.secret }}
{% endblock %}
--------------------- finish! ------------------------
Enjoy!
homiez
myblog:
homiezway.blogspot.com
> test.zip
> 73K表示ダウンロード