这是我的HTML下拉菜单.该值是子表的主键.
<select id="category" name="category">
<option selected value="__None"></option>
<option value="1">Category Number One</option>
<option value="2">Category Number Two</option>
</select>
Run Code Online (Sandbox Code Playgroud)
我需要使用值整数1而不是"类别编号一"更新Post.category_id.这是我的代码.
# create new post
@app.route('/admin/post', methods=['GET', 'POST'])
@login_required # Required for Flask-Security
def create_post():
form = PostForm()
if form.validate_on_submit():
post = Post(title=form.title.data,
body=form.body.data,
pub_date=form.pub_date.data,
cateogry_id=form.category.data)
db.session.add(post)
db.session.commit()
flash('Your post has been published.')
return redirect(url_for('admin'))
posts = Post.query.all()
return render_template('create_post.html', form=form, posts=posts)
Run Code Online (Sandbox Code Playgroud)
我试过制作......
cateogry_id=form.category.data
cateogry_id=form.category.value
Run Code Online (Sandbox Code Playgroud)
现在不是那么好!
我将Jinja2与Google App Engine一起使用.在我尝试使用相对路径加载base.html与我的edit.html模板.
我的主题目录结构如下所示......
我在模板中尝试了这个...
{% extends "../base.html" %}
Run Code Online (Sandbox Code Playgroud)
返回此...
TemplateNotFound: ../base.html
Run Code Online (Sandbox Code Playgroud)
我这样做的时候......
{% extends "base.html" %}
Run Code Online (Sandbox Code Playgroud)
我的edit.html模板加载,但没有base.html.
如何从edit.html访问base.html,这是一个目录?
现在代码......
的app.yaml
application: myblog
version: 1
runtime: python27
api_version: 1
threadsafe: no
handlers:
- url: /admin/.*
script: admin.app
login: admin
- url: /favicon\.ico
static_files: favicon.ico
upload: favicon\.ico
- url: .*
script: static.app
builtins:
- remote_api: on
libraries:
- name: webapp2
version: "2.5.1"
- name: jinja2
version: latest
Run Code Online (Sandbox Code Playgroud)
config.py
blog_name = 'My Blog'
theme = 'default' …Run Code Online (Sandbox Code Playgroud) 我有一本看起来像这样的字典.
defaultdict(<type 'list'>,
{
2012: [Counter({1: 1, 2: 1, 4: 1}), 3],
2013: [Counter({4: 2, 12: 1, 5: 1, 6: 1}), 5],
2014: [Counter({4: 3, 1: 1, 2: 1, 3: 1}), 6]}
)
Run Code Online (Sandbox Code Playgroud)
我试图通过Counter dict迭代.像这样.
2012
1 1
2 1
1 4
3
2013
4 2
12 1
5 1
6 1
5
Run Code Online (Sandbox Code Playgroud)
这是我试过的代码.
for key, value in d.iteritems():
for k, v in value:
print k, v
Run Code Online (Sandbox Code Playgroud)
这是错误:
Traceback (most recent call last):
File "C:/test.py", line 42, in <module>
for …Run Code Online (Sandbox Code Playgroud)