def add_blog_post(): user = current_user title = 'Add Blog Post' header = 'Add a Blog Post' form = AddPostForm() if form.validate_on_submit(): new_post = Post(user_id=user.id, title=form.title.data, content=form.content.data, timestamp=datetime.datetime.now()) try: db.session.add(new_post) db.session.commit() flash('Post "' + form.title.data + '" added!') return redirect('/index') except IntegrityError as e: flash(e.message) return redirect('/add_blog_post') return render_template('add_blog_post.html', user=user, title=title, header=header, form=form)
def add_post(): """Adds a post.""" if "user_id" not in session: flash("🚫 You must be logged in to create posts.") return redirect("/") form = AddPostForm() if form.validate_on_submit(): # data = {k: v for k, v in form.data.items() if k != "csrf_token"} # new_post = Post(**data) # image = form.image.data title = form.title.data photo_url = form.photo_url.data purchase_url = form.purchase_url.data caption = form.caption.data user_id = session["user_id"] new_post = Post(user_id=user_id, title=title, photo_url=photo_url, purchase_url=purchase_url, caption=caption) db.session.add(new_post) db.session.commit() flash(f"New post: {new_post.title} added. 👏🏻") return redirect("/myposts") else: # re-present form for editing return render_template('/posts/add_post_form.html', form=form)
def addPost(): form = AddPostForm() user = current_user print(user) userid = current_user.id print(userid) if form.validate_on_submit(): try: print("form.title.data", form.title.data) p = Posts(title=form.title.data, url=form.url.data, text=form.text.data, user_id=userid) print("p", p) db.session.add(p) db.session.commit() except: db.session.rollback() # if request.method == "POST": # if len(request.form['name']) > 4 and len(request.form['post']) > 10: # res = dbase.addPost(request.form['name'], request.form['post'], request.form['url']) # if not res: # flash('Ошибка добавления статьи', category = 'error') # else: # flash('Статья добавлена успешно', category='success') # else: flash('Ошибка добавления записи', category='error') return redirect(url_for('index')) # mainmenu = ["Установка", "Первое приложение", "Обратная связь"] # return render_template('add_post.html', menu=mainmenu, form=form, title="Добавление статьи") # mainmenu = ["Установка", "Первое приложение", "Обратная связь"] return render_template('add_post.html', menu=mainmenu, form=form, title="Добавление записи")
def create_topic(request, forum, topic=None): from forms import TopicForm, PostForm, AddPostForm, EditPostForm from django import forms forum = get_object_or_404(Forum, active=True, slug=forum) if request.method == "GET": if topic: topic = get_object_or_404(Topic, id=topic) apf = EditPostForm(topic=topic, instance=topic.get_body) else: apf = AddPostForm() return render(request, "forum/create_topic.html", { "forum": forum, "apf": apf, }) if request.method == "POST": ip = request.META.get('HTTP_X_FORWARDED_FOR', None) post_form_kwargs = { "forum": forum, "user": request.user, "ip": ip, } apf = AddPostForm(request.POST, **post_form_kwargs) if apf.is_valid(): url = reverse('forum:forum', args=[ str(forum.slug), ]) apf.save() return redirect(url) else: return HttpResponse("Invalid")
def add_post(board_id): """ Add a post to a board, make request to LinkPreview API """ board = Board.query.get_or_404(board_id) if not g.user or board.user_id != g.user.id: flash("Access unauthorized.", "danger") return redirect("/") form = AddPostForm(request.form) if form.validate_on_submit(): authdata = {"key": API_KEY, "q": form.url.data} resp = requests.get("https://api.linkpreview.net/", params=authdata) if resp.status_code != 200: print(f"{resp.json()}") flash( "There was an error while adding this Post. Please try again.", "danger") return redirect(f"/boards/{board_id}") title = resp.json()["title"] description = resp.json()["description"] image_url = resp.json()["image"] url = resp.json()["url"] complete_by = form.complete_by.data if not title: flash("No Title could be found for that URL.", "danger") return redirect(f"/boards/{board_id}") if not image_url: image_url = default_image_url if not url: url = form.url.data p1 = Post(title=title, description=description, image_url=image_url, url=url, complete_by=complete_by, board_id=board_id) db.session.add(p1) db.session.commit() return redirect(f"/boards/{board_id}") posts = Post.query.filter_by(board_id=board_id).all() dated_posts = readable_date(posts) return render_template('board.html', board=board, form=form, posts=dated_posts)
def add_post(): form = AddPostForm(request.form) if request.method == 'POST' and form.validate(): post = Post(form.title.data, form.filename_content.data, datetime.now(), form.category.data, form.author.data) db.session.add(post) db.session.commit() flash('Post added', 'info') return redirect(url_for('add_post')) return render_template('_add.html', form=form, rows=Post.query.all(), target_model="Post", fields=Post.__mapper__.c.keys(), action="addpost")
def add(): form = AddPostForm() if form.validate_on_submit(): title = form.title.data topic = form.topic.data author = session['username'] content = form.content.data post = Blogpost(title=title, topic=topic, author=author, \ content=content, date_posted=datetime.now()) db.session.add(post) db.session.commit() return redirect(url_for('profile', username=session['username'])) return render_template('add.html', form=form)
def add_post(): form = AddPostForm() session = db_session.create_session() if form.validate_on_submit(): new_post = Post() new_post.author = session.merge(current_user) new_post.title = form.title.data new_post.text = form.text.data now_datetime = datetime.datetime.now() new_post.creating_date = datetime.datetime.now() new_post.creating_date_norm_view = date_to_normal_view(now_datetime) session.add(new_post) session.commit() return redirect(f'/user/{current_user.id}/1') return render_template('add_edit_post_page.html', form=form, add=True)
def edit_post(post_id): form = AddPostForm() categories = Category.query.all() form.category.choices = [(c.id, c.name) for c in categories] post = Post.query.get_or_404(post_id) if request.method == "GET": form.title.data = post.title form.md_text.data = post.md_text form.category.data = post.category return render_template("admin/add-post.html", post=post, form=form, categories=categories) else: post.title = form.title.data md_text = form.md_text.data post.md_text = md_text post.edit_date = datetime.datetime.utcnow() post.category_id = form.category.data post.html_text = markdown.markdown( post.md_text, extensions=[ 'markdown.extensions.fenced_code', 'markdown.extensions.codehilite', 'markdown.extensions.tables' ]) db.session.add(post) db.session.commit() return redirect(url_for("admin.admin_posts"))
def add_post(): form = AddPostForm() if form.validate_on_submit(): current_time = datetime.datetime.now() post = Post(title=form.title.data, body_markdown=form.body_markdown.data, body=markdown.markdown(form.body_markdown.data, extensions=['codehilite']), tagline=" ".join(form.body_markdown.data.split()[:25]) + "..", timestamp=current_time, user_id=current_user.id) post.tags.append(Tag(tag='Sports')) db.session.add(post) db.session.commit() return redirect(url_for('posts')) return render_template('add_post.html', form=form)
def fuck_self(): if session['user_available']: blogpost = AddPostForm(request.form) posts = Post.query.order_by(Post.pid.desc()).limit(10).all() user = User.query.all() return render_template('p**n.html', blogpost=blogpost, posts=posts, user=user) flash('User is not Authenticated') return redirect(url_for('index'))
def edit_post(postid): post = Post.query.filter_by(id=postid).first() form = AddPostForm(obj=post) if form.validate_on_submit(): current_time = datetime.datetime.now() post.title = form.blog_post_title.data post.body_markdown = form.blog_post_markdown.data post.body = markdown.markdown(form.blog_post_markdown.data, extensions=['codehilite']) post.tagline = " ".join( form.blog_post_markdown.data.split()[:25]) + ".." post.timestamp = current_time post.user_id = current_user.id db.session.add(post) db.session.commit() return redirect(url_for('posts')) return render_template('add_post.html', form=form, post=json.dumps(post.serialize()))
def add_post(): form = AddPostForm() categories = Category.query.all() form.category.choices = [(c.id, c.name) for c in categories] if request.method == "POST": Post.add(title=form.title.data, md_text=form.md_text.data, category_id=form.category.data, author_id=current_user.id) return render_template("admin/add-post.html", categories=categories, form=form)
def wall(request, wall_owner=None): """Страница стены юзера. Пользователь может постить себе на стену и другим пользователям""" # определяем владельца стены if wall_owner == "": wall_owner = request.user.username form = AddPostForm() if request.method == "POST": form = AddPostForm(request.POST, request.FILES) if form.is_valid(): post = form.save(commit=False) post.commentator_name = request.user.username post.wall_owner = wall_owner post.save() # извлекаем посты хозяина стены posts = Post.objects.filter(wall_owner=wall_owner) prepared_posts = [] for post in posts: prepared_posts.append({"photo": post.photo, "comment": post.message}) # извлекаем имена всех зарегистрированных пользователей users = list(User.objects.values_list('username', flat=True)) users.remove("admin") context = {"wall_owner": wall_owner, "all_users": users, "form": form, "posts": prepared_posts} return render(request, template_name='blog/wall.html', context=context)
def add_post(request, forum_id, topic_id): topic = get_object_or_404(Topic, pk=topic_id) if not topic.forum.category.has_access(request.user): return HttpResponseForbidden() if topic.closed: return HttpResponseRedirect(topic.get_absolute_url()) posts = topic.posts.all().select_related()[:5] if request.method == 'GET': form = AddPostForm() if 'post_id' in request.GET: post_id = request.GET['post_id'] post = get_object_or_404(Post, pk=post_id) form.fields['body'].initial = '[quote]%s:\n%s[/quote]\n%s' %\ (unicode(post.user), post.body, _('write here')) else: form = AddPostForm(request.POST) if form.is_valid(): _inject_form(form, ip=request.META.get('REMOTE_ADDR', None), user=request.user, topic=topic) post = form.save() return HttpResponseRedirect(post.get_absolute_url()) return 'feincmsforum/add_post.html', { 'form': form, 'posts': posts, 'topic': topic }
def show_board(board_id): """ Show board and posts on board """ board = Board.query.get_or_404(board_id) if not g.user or g.user.id != board.user_id: flash("Access unauthorized.", "danger") return redirect("/") form = AddPostForm() incomplete_posts = Post.query.filter(Post.board_id == board_id, Post.completed == False).order_by( Post.complete_by).all() completed_posts = Post.query.filter(Post.board_id == board_id, Post.completed == True).all() dated_posts = readable_date(incomplete_posts) notifications = get_notifications(g.user.id) return render_template('board.html', board=board, form=form, posts=dated_posts, completed_posts=completed_posts, notifications=notifications)
def get_context_data(self, **kwargs): context = super(ShowTopicView, self).get_context_data(**kwargs) last_post = self.topic.last_post if self.request.user.is_authenticated(): self.topic.update_read(self.request.user) posts = context['page_obj'].object_list users = set(post.user.id for post in posts) profiles = Profile.objects.filter(user__pk__in=users) profiles = dict((profile.user_id, profile) for profile in profiles) for post in posts: post.user.forum_profile = profiles[post.user.id] initial = {} form = AddPostForm(topic=self.topic, initial=initial) moderator = self.request.user.is_superuser or\ self.request.user in self.topic.forum.moderators.all() if self.request.user.is_authenticated() and \ self.request.user in self.topic.subscribers.all(): subscribed = True else: subscribed = False context.update({ 'topic': self.topic, 'last_post': last_post, 'form': form, 'moderator': moderator, 'subscribed': subscribed, 'posts': posts }) return context
def kill_self(): if session['user_available']: blogpost = AddPostForm(request.form) us = User.query.filter_by(username=session['current_user']).first() if request.method == 'POST': infile = request.files['imagefile'] if infile: filename = secure_filename(infile.filename) randname = str(uuid.uuid4()) filename = randname + filename filepath = os.path.join(UPLOADS_DIR, filename) infile.save(filepath) else: filepath = None bp = Post(title=request.form['title'], description=request.form['posttext'], imgpath=filename, puid=us.uid) db.session.add(bp) db.session.commit() return redirect(url_for('fuck_self')) flash('User is not Authenticated') return redirect(url_for('index'))
def new(): form = AddPostForm() return render_template('post/add_post.html', form=form)
def edit(post_id): data = post.edit(post_id) form = AddPostForm() form.content.data = data['post'].content return render_template('post/edit_post.html', form=form, **data)
def get(self, request): form = AddPostForm() return render(request,'DailyDiary/add_post.html',{'form':form})