def add_entry(request, topic_id, entry_form = EntryForm, template_name = 'article/add_entry.ouds'): """增加文章章节""" user = request.user if not Topic.objects.filter(id__exact = topic_id).exists(): return HttpResponseRedirect('/member/%s' % user.username) else: topic = Topic.objects.get(id__exact = topic_id) if request.method == "POST": data = request.POST data['title'] = data['title'].strip() entry = Entry(id = _md5_key(datetime.datetime.now(), user.username), topic = topic) entry_form = entry_form(data, instance = entry, auto_id = False) if entry_form.is_valid(): entry = entry_form.save() if request.FILES: image = request.FILES['image'] if image.size <= IMAGE_SIZE and (image.name[-3:] in IMG_TYPE): entry.image.save(entry.id + image.name[-4:], image, save = True) watermark(AI_DIR + entry.id + image.name[-4:]).save(AI_DIR + entry.id + image.name[-4:], quality = 90) return HttpResponseRedirect('/member/%s' % user.username) else: entry_form = entry_form(auto_id = False) return render_to_response( template_name, { 'user': user, 'module': None, 'entry_form': entry_form, }, )
def add_topic(request, topic_form = TopicForm, template_name = 'article/add_topic.ouds'): """增加文章""" user = request.user if request.method == "POST": data = request.POST data['title'] = data['title'].strip() now = datetime.datetime.now() topic = Topic(id = _md5_key(now, user.username), profile = user.get_profile(), \ edit_date = now, is_approved = True) # is_recommended = True topic_form = topic_form(data, instance = topic, auto_id = False) if topic_form.is_valid(): topic = topic_form.save() if request.FILES: icon = request.FILES['icon'] if icon.size <= ICON_SIZE and (icon.name[-3:] in IMG_TYPE): topic.icon.save(topic.id + icon.name[-4:], icon, save = True) # 更新catalog catalog = topic.catalog catalog.post_count += 1 catalog.save() # 标签处理 tags = data['tags'].strip().split() for tag in tags: # 增加tag if not Tag.objects.filter(catalog__exact = catalog, name__exact = tag).exists(): Tag(catalog = catalog, name = tag).save() # 更新tag和topic-tag tag = Tag.objects.get(catalog__exact = catalog, name__exact = tag) tag.post_count += 1 tag.save() if not topic.tags.filter(name__exact = tag.name).exists(): topic.tags.add(tag) return HttpResponseRedirect('/member/%s' % user.username) else: topic_form = topic_form(auto_id = False) return render_to_response( template_name, { 'user': user, 'module': None, 'topic_form': topic_form, }, )
def comment(request, topic_id, comment_form = CommentForm): """发表评论""" data = request.POST topic = Topic.objects.get(id__exact = topic_id) comment = Comment(id = _md5_key(datetime.datetime.now(), data['author']), topic = topic, ip = request.META['REMOTE_ADDR']) comment_form = comment_form(data, instance = comment, auto_id = False) if comment_form.is_valid(): comment.save() topic.comment_count += 1 topic.save() #else: # comment_form = comment_form(auto_id = False) return HttpResponseRedirect(data['topic_url'])