add post with paragraphs wip

This commit is contained in:
Malar Kannan
2017-08-09 16:11:26 +05:30
parent 3fec54ae75
commit 617f6b890e
8 changed files with 95 additions and 39 deletions

View File

@@ -9,17 +9,14 @@ from app import db
class Post(db.Model):
id = db.Column(db.Integer, primary_key=True)
title = db.Column(db.String(80))
content = db.Column(db.Text)
# pub_date = db.Column(db.DateTime)
pub_date = db.Column(db.DateTime)
def __init__(self, title,content, pub_date=None):
def __init__(self, title,paragraphs, pub_date=None):
self.title = title
self.content = content
# if pub_date is None:
# pub_date = datetime.utcnow()
# self.pub_date = pub_date
# paragraphs = text.split('\n\n')
# self.paragraphs = paragraphs
if pub_date is None:
pub_date = datetime.utcnow()
self.pub_date = pub_date
self.paragraphs = paragraphs
def __repr__(self):
return '<Post %r>' % self.title
@@ -27,8 +24,8 @@ class Post(db.Model):
class Paragraph(db.Model):
id = db.Column(db.Integer, primary_key=True)
body = db.Column(db.Text)
post_id = db.Column(db.Integer, db.ForeignKey('post.id'))
db.relationship('Post',backref=db.backref('paragraphs', lazy='dynamic'))
def __init__(self, body,post_id):
self.body = body
@@ -42,6 +39,7 @@ class Comment(db.Model):
name = db.Column(db.String(50))
message = db.Column(db.String(140))
paragraph_id = db.Column(db.Integer, db.ForeignKey('paragraph.id'))
post_id = db.Column(db.Integer, db.ForeignKey('post.id'))
db.relationship('Paragraph',backref=db.backref('comments', lazy='dynamic'))
def __init__(self, name,message):

View File

@@ -6,22 +6,47 @@ Licence: GPLv3
from flask import request
from flask_restless import APIManager
from flask_restful import Resource,Api
from app import app,db
from models import Post,Paragraph,Comment
# Create the Flask-Restless API manager.
manager = APIManager(app, flask_sqlalchemy_db=db)
# Create API endpoints, which will be available at /api/<tablename> by
# default. Allowed HTTP methods can be specified as well.
manager.create_api(Post, methods=['GET', 'POST', 'DELETE'])
manager.create_api(Post, methods=['GET'])
manager.create_api(Paragraph, methods=['GET'])
manager.create_api(Comment, methods=['GET','POST'])
restapi = Api(app)
@app.route('/')
def index():
return app.send_static_file('index.html')
class CreatePost(Resource):
def post(self):
try:
post_data = json.parse(request.data)
title = post_data['title']
content = post_data['content']
p = Post(title)
pgs = content.split('\n')
db.session.add(p)
db.session.add(p)
return {'post_id':'title'}
except Exception as e:
return {'error':'invalid_post'}
restapi.add_resource(CreatePost,'/api/create_post')
# @app.route('/api/create_post',methods=['POST'])
# def create_post():
# title = request.form.get('title',None);
# content = request.form.get('content',None)
# print(title,content)
# return 'ok'
#
# @app.route('/api/addpost',methods=['POST'])
# def addpost():