Skip to content

Commit 7a447df

Browse files
committed
add article function
1 parent 02e6050 commit 7a447df

File tree

6 files changed

+56
-13
lines changed

6 files changed

+56
-13
lines changed

app/article/forms.py

+10-1
Original file line numberDiff line numberDiff line change
@@ -3,9 +3,18 @@
33
SubmitField
44
from wtforms.validators import Required, Length, Email, Regexp
55
from wtforms import ValidationError
6+
from ..models import ArticleType
67
#from flask.ext.pagedown.fields import PageDownField
78

89
class TypeForm(Form):
910
title = StringField(validators=[Required()])
1011
description = TextAreaField()
11-
submit = SubmitField()
12+
submit = SubmitField()
13+
class ArticleForm(Form):
14+
title = StringField(validators=[Required()])
15+
content = TextAreaField(validators=[Required()])
16+
article_type = SelectField('article_type',coerce=int)
17+
submit = SubmitField()
18+
def __init__(self,*args,**kwargs):
19+
super(ArticleForm, self).__init__(*args,**kwargs)
20+
self.article_type.choices=[(a_type.id,a_type.title) for a_type in ArticleType.query.all()]

app/article/views.py

+22-4
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,25 @@
11
from flask import render_template, redirect,url_for,abort,flash,request
22
from . import article
3-
from .forms import TypeForm
4-
from ..models import ArticleType
3+
from .forms import TypeForm, ArticleForm
4+
from ..models import ArticleType,Article
55
from datetime import datetime
66
from .. import db
7+
78
@article.route('/')
89
def index():
9-
abort(500)
10-
10+
list =Article.query.all()
11+
return render_template('article_list.html',list = list)
12+
@article.route('/create',methods=['GET','POST'])
13+
def create():
14+
form = ArticleForm()
15+
print form.validate_on_submit()
16+
if form.validate_on_submit():
17+
article = Article(title = form.title.data,content = form.content.data,type_id = form.article_type.data)
18+
db.session.add(article)
19+
db.session.commit()
20+
return redirect(url_for('.index'))
21+
#print form.data
22+
return render_template('create.html',form = form)
1123
@article.route('/type/create',methods=['GET','POST'])
1224
def create_type():
1325
form = TypeForm()
@@ -18,7 +30,13 @@ def create_type():
1830
print 'bbb'
1931
db.session.add(type)
2032
db.session.commit()
33+
print url_for('.index_type')
34+
return redirect(url_for('.index_type'))
2135
print 'bbb'
2236
return render_template('create_type.html',form = form)
2337
@article.route('/type')
2438
def index_type():
39+
list = ArticleType.query.all()
40+
return render_template('type_list.html',list = list)
41+
42+

app/templates/article_list.html

+3
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
{% for item in list%}
2+
<div><span><a>{{item.title}}</a></span>&nbsp;<span>{{item.articletype.title}}</span>&nbsp;<span><a>edit</a></span></div>
3+
{%endfor%}

app/templates/create.html

+7
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
<form action='' method='post' name='create'>
2+
{{ form.hidden_tag() }}
3+
<div>{{form.title}}</div>
4+
<div>{{form.content}}</div>
5+
<div>{{form.article_type}}</div>
6+
<div>{{form.submit}}</div>
7+
</form>

app/templates/type_list.html

+3
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
{% for item in list%}
2+
<div><span><a>{{item.title}}</a></span><span>{{item.description}}</span></div>
3+
{%endfor%}

test.py

+11-8
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,11 @@
1-
def fuc1(*arg):
2-
print arg
3-
4-
def run(f,*arg):
5-
f(arg)
6-
7-
if __name__=='__main__':
8-
run(fuc1)
1+
#coding='utf-8'
2+
class people:
3+
names = ['jack','leo']
4+
age = 1
5+
def printName(self):
6+
self.names.append('wy')
7+
self.age = 2
8+
print self.names,self.age
9+
people().printName()
10+
print people.names
11+
print people.age

0 commit comments

Comments
 (0)