def create_news(request): """ view untuk pembuatan berita """ if not request.user.has_perm('news.add_news'): messages.error(request, _("Unvalidated user can not create news")) return HttpResponseRedirect(reverse('validate')) if request.POST: form = CreateNewsForm(request.POST) if form.is_valid(): news = News() news.user = request.user news.title = form.cleaned_data['title'] news.content = form.cleaned_data['content'] news.category = form.cleaned_data['category'] news.enable_comment = form.cleaned_data['enable_comment'] news.location = form.cleaned_data['location'] news.save() news.images.add(*request.POST.getlist('images')) p = Point(news=news, user=request.user) p.save() messages.info(request, _('A news %s created') % news.title) return HttpResponseRedirect(reverse('user_news')) else: form = CreateNewsForm() return render_to_response('news/create_news.html', {'form': form}, context_instance=RequestContext(request))
def setUp(self): city = City.objects.get(name='Curitiba') news = News() news.title = 'Test news' news.content = 'Test content' news.city = city news.save() self.news = news
def handle(self, *args, **options): path = args[0] if path.startswith('http'): content = json.load(urllib2.urlopen(path)) else: content = json.load(open(path)) for entry in content: try: news = News.objects.get(id=int(entry['id'])) except News.DoesNotExist: news = News(id=int(entry['id'])) if not 'html' in entry or entry['pub'] == '0': continue news.title = entry['name'] news.caption = entry['announce'] news.is_visible = entry['pub'] == '10' news.date_published = datetime.datetime.strptime(entry['time'], '%d.%m.%Y').date() news.content = entry['html'] news.save() for url_hash in re.findall('src="/pic/(.*?)/"', news.content): url = 'http://tomat-podarky.ru/pic/%s/' % url_hash fp = ContentFile(requests.get(url).content) today = datetime.date.today() target_name = 'uploads/%(year)d/%(month)d/%(name)s%(ext)s' % { 'year': today.year, 'month': today.month, 'name': uuid.uuid4().hex, 'ext': '.jpg', } filepath = os.path.join(settings.MEDIA_ROOT, target_name) out = open(filepath, 'w') out.write(fp.read()) out.close() news.content = news.content.replace('/pic/%s/' % url_hash, '/media/%s' % target_name) news.save()
def news_release(): #进行页面渲染 if request.method == "GET": try: categories = Category.query.all() except Exception as e: current_app.logger.error(e) return jsonify(errno=Code.DBERR, errmsg="获取分类失败") category_list = [] for category in categories: category_list.append(category.to_dict()) return render_template("news/user_news_release.html", categories=category_list) # 数据提交 title = request.form.get("title") category_id = request.form.get("category_id") digest = request.form.get("digest") index_image = request.files.get("index_image") content = request.form.get("content") if not all([title, category_id, digest, index_image, content]): return jsonify(errno=Code.PARAMERR, errmsg="参数不全") try: #读取图片为二进制数据,上传 image_name = image_storage(index_image.read()) except Exception as e: current_app.logger.error(e) return jsonify(errno=Code.THIRDERR, errmsg="七牛云异常") if not image_name: return jsonify(errno=Code.NODATA, errmsg="图片上传失败") news = News() news.title = title news.source = g.user.nick_name news.digest = digest news.content = content news.index_image_url = constants.QINIU_DOMIN_PREFIX + image_name news.category_id = category_id news.user_id = g.user.id news.status = 1 #表示审核中 try: db.session.add(news) db.session.commit() except Exception as e: current_app.logger.error(e) return jsonify(errno=Code.DBERR, errmsg="新闻发布失败") # print("发布成功") return jsonify(errno=Code.OK, errmsg="发布成功")
def process_item(self, item, spider): # print item['owner'], item['title'], item['time_way'] if self.NAME not in getattr(spider, 'pipelines', []): return item news = News() news.content = item['content'] # news.editor = item['editor'] news.pub_time = item['pub_time'] news.source = item['source'] news.title = item['title'] news.abstract = item['abstract'] news.save() return item
def save(request): if isLoggedIn(request): req = request.POST id = req.get('id') title = req.get('title') content = req.get('content') mag = req.get('mag') signature = request.COOKIES.get('signature') if not int(id) == 0: news = News.objects.filter(id=id).first() else: news = News() if title and content and mag: news.title = title news.content = content news.mag = mag news.author = signature news.save() id = news.id news = News.objects.filter(id=id) return HttpResponse(serialize('json', news)) return HttpResponse('0')