def setUp(self): self.login() self.root_page = Page.objects.get(id=1) self.home_page = self.root_page.add_child(instance=HomePage( title='New America')) self.program_page = self.home_page.add_child( instance=Program(title='OTI', name='OTI', description='OTI', location=False, depth=3)) self.subprogram_page = self.program_page.add_child(instance=Subprogram( title='OTI Subprogram', name='OTI Subprogram', description='OTI Subprogram', location=False, depth=4, )) self.program_articles_page = self.program_page.add_child( instance=ProgramArticlesPage(title='Program Articles')) self.article = self.program_articles_page.add_child( instance=Article(title='Article 1', date='2016-02-02')) self.subprogram_articles_page = self.subprogram_page.add_child( instance=ProgramArticlesPage(title='Subprogram Articles')) self.subprogram_article = self.subprogram_articles_page.add_child( instance=Article(title='Article 2', date='2016-02-03'))
def setUp(self): self.login() site = Site.objects.get() page = Page.get_first_root_node() home = HomePage(title='New America') self.home_page = page.add_child(instance=home) site.root_page = home site.save() self.our_people_page = self.home_page.add_child( instance=OurPeoplePage(title='Our People', depth=3)) self.program_page = self.home_page.add_child( instance=Program(title='OTI', name='OTI', description='OTI', location=False, depth=3)) self.second_program = self.home_page.add_child( instance=Program(title='Education', name='Education', slug='education', description='Education', location=False, depth=3)) self.subprogram_page = self.program_page.add_child( instance=Subprogram(title='OTI Subprogram', name='OTI Subprogram', description='OTI Subprogram', location=False, depth=4)) self.second_subprogram_page = self.program_page.add_child( instance=Subprogram(title='OTI Subprogram 2', name='OTI Subprogram 2', description='OTI Subprogram 2', location=False, depth=4)) self.program_articles_page = self.program_page.add_child( instance=ProgramArticlesPage(title='Program Articles')) self.test_person = Person( title='Sana Javed', slug='sana-javed', first_name='Sana', last_name='Javed', role='Central Staff', depth=4, ) self.our_people_page.add_child(instance=self.test_person) self.test_person.save() self.article = self.program_articles_page.add_child( instance=Article(title='Article 1', date='2016-02-02')) PostAuthorRelationship(author=self.test_person, post=self.article).save() self.article_2 = self.program_articles_page.add_child( instance=Article(title='Article 2', date='2016-05-02')) PostAuthorRelationship(author=self.test_person, post=self.article_2).save()
def test_comments_are_moderated(self): """ Test that moderation auto enables. """ self.assertFalse(Article().comments_are_moderated, "comment should not be moderated yet") self.assertTrue(Article(publication_date=datetime.min).comments_are_moderated, "old comment should be moderated") # Test ranges self.assertFalse(Article(publication_date=now() - timedelta(days=appsettings.FLUENT_COMMENTS_MODERATE_AFTER_DAYS - 1)).comments_are_moderated) self.assertTrue(Article(publication_date=now() - timedelta(days=appsettings.FLUENT_COMMENTS_MODERATE_AFTER_DAYS)).comments_are_moderated) self.assertTrue(Article(publication_date=now() - timedelta(days=appsettings.FLUENT_COMMENTS_MODERATE_AFTER_DAYS + 1)).comments_are_moderated)
def test_comments_are_open(self): """ Test that comments can auto close. """ self.assertTrue(Article().comments_are_open, "article should be open for comments") self.assertFalse(Article(enable_comments=False).comments_are_open, "article comments should close") # Test ranges self.assertTrue(Article(publication_date=now() - timedelta(days=appsettings.FLUENT_COMMENTS_CLOSE_AFTER_DAYS - 1)).comments_are_open) self.assertFalse(Article(publication_date=now() - timedelta(days=appsettings.FLUENT_COMMENTS_CLOSE_AFTER_DAYS)).comments_are_open) self.assertFalse(Article(publication_date=now() - timedelta(days=appsettings.FLUENT_COMMENTS_CLOSE_AFTER_DAYS + 1)).comments_are_open)
def test_categorymodels_relation(self): first_user = User.objects.create_user( username='******', email='*****@*****.**', password='******', ) name = 'category' c = Category( name=name, user_id=first_user.uuid, ) c.save() title = 'title' discript = 'discript' text = 'text' a = Article( title='title', discript='discript', text='text', user_id=first_user.uuid, category_id=c.id, ) a.save() aa = Article( title='2個目', discript='説明', text='テキスト', user_id=first_user.uuid, category_id=c.id, ) aa.save() tag = Tag( name='tag', user_id=first_user.uuid, ) tag.save() a.tag.add(tag) aa.tag.add(tag) tags = a.tag.all() sv = tag.article_set.all() articles = Article.objects.all() self.assertEqual(a.title, title) self.assertEqual(a.discript, discript) self.assertEqual(a.text, text) self.assertEqual(a.category_id, 2) self.assertEqual(tags.count(), 1) self.assertEqual(sv.count(), 2) self.assertEqual(articles.count(), 2)
def compose(request): if request.user.is_authenticated: if request.method == "POST": form = Post(request.POST) if form.is_valid(): name = form.cleaned_data['name'] content = form.cleaned_data['article'] time = datetime.datetime.now() method = 'article' username = request.user.username text = "%s has posted an article on %s" % (username, name) p = Feed(user=username, time=time, method=method, content=text) p.save() user = User.objects.get(id=request.user.id) profile = Profile.objects.get(user=user) a = Article(profile=profile, name=name, time=time, content=content) a.save() return redirect('/') else: form = Post() return render(request, 'article/post.html', { 'form': form, 'title': 'Post' }) else: return redirect('/login')
class SimpleTest(TestCase): def add_article(self): # queryset = Article.objects.all() # print(queryset.valu) lambert = UserProfile.objects.filter(username = '******').first() with open('F:\代码\我的项目\\blog\\blog\\articals_articale.json','r',encoding='utf8')as fp: json_data = json.load(fp) for article in json_data['rows']: # print(article['title']) # print(article['markdown_text']) # print(article['pub_date']) # print(article['update_time']) # print(article['original']) # print(article['original_link']) obj = Article( title=article['title'], content = article['text_content'], original = article.get('original','yes'), link_address = article.get('orginal_link',''), editor = 'md', author = lambert, created_time = article['add_time'], last_mod_time = article['modified_time'] ) obj.save()
def article_submit(request): if request.method == 'POST': aid = request.POST.get('aid', '0') did = request.POST.get('did', '0') title = request.POST.get('title') content = request.POST.get('content') auth_way = request.POST.get('auth_way') # 微信原创标独家授权 1/2 auth_reprinted = request.POST.get('auth_reprinted') # 原创标识 1/0 tag = request.POST.get('tag') # 匿名投稿 1/0 article_memo = request.POST.get('article_memo') # 联系方式 if did == '0' and aid == '0': # 情况一: 新的文章提交 article = Article() elif did != '0' and aid == '0': # 情况二: 历史草稿提交 article = Article.objects.get(id=did) else: # 情况三:已提交的文章再次提交 article = Article.objects.get(id=aid) article.title = title article.content = content article.creator = request.user article.category_id = settings.DEFAULT['article_category_id'] article.status = 1 # article.auth_way = auth_way # article.auth_reprinted = auth_reprinted # article.tag = tag # article.article_memo = article_memo article.save() return JsonResponse({'result': 1, 'msg': '已提交,稿件审核中'})
def write(request): if request.method == 'POST': title = request.POST.get('title') content = request.POST.get('content') try: email = request.session['email'] # select * from user where email = ? user = User.objects.get(email=email) ####################################### upload_file = request.FILES['upload_file'] # 파일 저장 # file = open('', '') # file.write('내용') file_name = upload_file.name # 만약 파일명이 중복되었다면.. image.jpg idx = file_name.find('.') file1 = file_name[0:idx] # image file2 = file_name[idx:] # .jpg sep = time.time() # unix time 밀리세컨드 file_name = file1 + str(sep) + file2 with open('article/static/' + file_name, 'wb') as file: for chunk in upload_file.chunks(): file.write(chunk) ####################################### # insert into article (title, content, user_id) values (?, ?, ?) article = Article(title=title, content=content, user=user) article.file_name = '/static/' + file_name article.save() return render(request, 'write_success.html') except: return render(request, 'write_fail.html') return render(request, 'write.html')
def add_article(request): status, res = process_post( request, ['identity', 'title', 'content', 'authors', 'editor', 'department']) if not status: return res identity = res['identity'] title = res['title'] content = res['content'] try: authors = [Person.objects.get(pk=author) for author in res['authors']] editor = Person.objects.get(pk=res['editor']) except Exception as e: return gen_response(409, f'No such person: {e}') try: department = Department.objects.get(pk=res['department']) except Exception as e: return gen_response(409, f'No such department: {e}') if not verify_user(identity): return gen_response(401, 'Permission denied.') article = Article(title=title, content=content, editor=editor, department=department) article.save() for author in authors: article.authors.add(author) return gen_response(200, 'Add article successfully.')
def article_create(request, block_id): block_id = int(block_id) if request.method == "GET": return render(request, 'article_create.html', { "b": block, "error": error }) else: title = request.POST.get("title").strip() content = request.POST.get("content").strip() if not title or not content: return render( request, "article_create.html", { "b": block_id, "error": "标题和内容不能为空", "title": title, "content": content }) if len(title) > 100 or not len(content) > 100000: return render(request, "article_create.html", { "b": block_id, "error": "标题和内容太长" }) add_article = Article(block_id=block_id, title=title, owner=request.user, content=content, status=0) add_article.save() article_infos = Article.objects.filter(block=block_id).order_by("-id") return render(request, 'article_list.html', { "articles": article_infos, "b": block_id })
def index(request): article = Article(title='abc', content='1111') category = Category(name="最新文章") category.save() article.category = category article.save() return HttpResponse("success")
def write_article(request): if request.method == 'GET': aform = ArticleForm() return render(request, 'article/write.html', context={'form': aform}) else: aform = ArticleForm(request.POST, request.FILES) if aform.is_valid(): # cleaned_data就是读取表单返回的值,返回类型为字典dict型 data = aform.cleaned_data article = Article() article.title = data.get('title') article.desc = data.get('desc') article.content = data.get('content') print(type(data.get('image'))) article.image = data.get('image') article.desc = data.get('desc') article.user = request.user # 1对多 直接赋值 article.save() # 多对多 必须添加到文章保存的后面添加 article.tags.set(data.get('tags')) return redirect(reverse('index')) return render(request, 'article/write.html', context={'form': aform})
def handle(self, *args, **options): user = User.objects.get(id=1) cate = Category.objects.get(id=1) #指定新文章的保存路径 markdowndir = "/data/PythonBlog/itblog/markdown/" mdlist = os.listdir(markdowndir) for filename in mdlist: #print(filename) #print(filename.split(".")[0]) # 创建一个文章对象 article = Article() article.title = filename.split(".")[0] # 文章作者,默认就是cui用户 article.author = user # 文章的分类,如果存在就保存到之前的里面,如果是新的分类就创建一个分类 article.category = cate article.brief = filename article.avatar = "article/20190809/150H2092042-1.jpg" with open(markdowndir + filename, 'r') as f: article.body = f.read() article.save() self.stdout.write(self.style.SUCCESS('Successfully create article %s' % article.title )) move_file(markdowndir,"/data/historymd/",filename)
def post(self,request): new_article_form = NewArticleForm(request.POST,request.FILES) if new_article_form.is_valid(): image = new_article_form.cleaned_data['image'] title = request.POST.get('title', '') detail = request.POST.get('detail', '') author = request.user #结巴分词 TextRank 关键词提取 data = detail desc = '' tsum = 0 if len(detail) >= 280: for keyword, weight in textrank(data, topK=10, withWeight=True): desc += (keyword+',') s = SnowNLP(detail) for sentence in s.sentences: tsum += float(SnowNLP(sentence).sentiments) - 0.5 new_article = Article() new_article.author = author new_article.title = title new_article.image = image new_article.desc = desc new_article.detail = detail new_article.score = tsum new_article.save() return render(request, 'success.html') else: return render(request, 'failed.html')
def add_new_itmes(crawled_items): # 새로운 기사를 저장하기 전에 기존의 데이터를 모두 삭제 delete_all() last_inserted_items = Article.objects.last() if last_inserted_items is None: last_inserted_link = "" else: last_inserted_link = getattr(last_inserted_items, 'link') items_to_insert_into_db = [] for item in crawled_items: if item['link'] == last_inserted_link: break items_to_insert_into_db.append(item) items_to_insert_into_db.reverse() for item in items_to_insert_into_db: Article(link=item['link'], category=item['category'], title=item['title'], article_date=item['article_date'], img=item['img'], contents=item['contents'], crawl_time=item['crawl_time'], newspaper=item['newspaper'], headline=item['headline'], tag=item['tag']).save() print("new item added!") return items_to_insert_into_db
def test_save_article(): #b= Article.objects.get(pk=1) a = Article() a.title = '标题1' a.content = '内容1' a.author_id = 1 a.save()
def post(self, request): article_form = AddArticleForm(request.POST, request.FILES) user = request.user if 'cover_img' in request.FILES: article = Article() tittle = request.POST.get('title', '') content = request.POST.get('editor1', '') cover_img = request.FILES['cover_img'] category_id = request.POST.get('category', '') label = request.POST.get('tags', '') if category_id: category = Category.objects.get(pk=category_id) article.Article_Category = category category.Article_Num = int(category.Article_Num) + 1 category.save() article.Tittle = tittle article.Content = content article.Cover_img = cover_img article.Author = user article.Label = label article.save() articles = Article.objects.filter(Author=user) return render(request, 'center/article.html', {'articles': articles}) else: now = datetime.now() category = Category.objects.filter(User=user) return render(request, 'center/add-article.html', {'now': now, 'category': category})
def add_article(request): articles = [] for x in range(0, 102): article = Article(title=f"标题{x}", content=f"内容{x}", price=x) articles.append(article) Article.objects.bulk_create(articles) return HttpResponse("添加成功")
def add_article_views(request): if request.method == "GET": return render(request, 'addArticle.html') else: try: articleAuthor = request.POST['author'] articleTitle = request.POST['title'] articleComment = request.POST['content'] articleColumn = request.POST['column'] if articleAuthor and articleTitle and articleComment and articleColumn: article = Article(article_author=articleAuthor, article_title=articleTitle, article_column=articleColumn, article_comment=articleComment, article_views_count=0, article_update_time=datetime.now()) # article.switch_collection('article_more') # 切换集合,此用法需谨慎 article.save() # with switch_collection(Article,'article_more') as Article_More: # article = Article_More(name='Thomson', title='Phone Development', comment='python进阶教程')#切换集合 # article.save() sussOrFail = 200 return render(request, 'addArticle.html', status=sussOrFail) except Exception as e: sussOrFail = 404 printlog.err(e) return render(request, 'addArticle.html', status=sussOrFail)
def editArticle(request, pk=0): context = getBaseContext() if pk == 0: art = Article(author=request.user, title='новая статья') art.pk = 0 else: art = Article.objects.get(pk=pk) tags = [t.title for t in art.tag.all()] art.taglist = ','.join(tags) if request.method == 'GET': context.update({'pk': art.pk, 'art': art, 'arttags': art.tag.all()}) return render(request, 'article-edit.html', context) if request.method == 'POST': if pk == 0: art = Article.objects.create(author=request.user, title='новая статья') catname = request.POST.get('category') category, _ = Category.objects.get_or_create(title=catname) art.tag.clear() for tagname in request.POST.get('tag').split(','): if len(tagname) > 0: tag, _ = Tag.objects.get_or_create(title=tagname) art.tag.add(tag) art.author = request.user art.title = request.POST.get('title') art.post = request.POST.get('post') art.category = category art.save() return redirect('kb', pk=art.pk)
def generate(request, **kwargs): newspaper_id = kwargs.get('np') year_id = kwargs.get('year') issue_id = kwargs.get('issue') np = get_newspaper(newspaper_id) year = get_year(year_id) issue = get_issue(np, year, issue_id) templates = ArticleTemplate.objects.filter(newspaper=np).all() print(kwargs) for template in templates: print() print(template) print( template.category, template.article_type, template.page, ) print() page = Article( issue=issue, category=template.category, article_type=template.article_type, page=template.page, ) print(page) print() print("Title: ", page.title) print("Category: ", page.category) print("Article Type: ", page.article_type) # page.linked, print(page.description, ) return redirect(issue.url())
def createArticleId(request): json_req = json.loads(request.body) token = json_req['token'] if token == "123456": type_id = json_req['type_id'] try: # 获取登录用户ID login_user = User.objects.get(user_id=1001) # 先查询是否已经存在articleID article = Article.objects.filter(user_id=login_user, flag=3, title="") # article 已经存在则直接返回 if article.exists(): result = {'code': 200, 'article_id': article[0].article_id} return HttpResponse(json.dumps(result, ensure_ascii=False), content_type="application/json") # 不存在则创建 else: # 创建article对象 article = Article(user_id=login_user, type_id=type_id, flag=3) # 保存文章 article.save() result = {'code': 200, 'article_id': article.article_id} return HttpResponse(json.dumps(result, ensure_ascii=False), content_type="application/json") except: return HttpResponse(json.dumps({'code': 405})) result = {'code': 401} return HttpResponse(json.dumps(result, ensure_ascii=False), content_type="application/json")
def write_article(request): if request.method == 'GET': # 调用写博客表单 aform = ArticleForm() return render(request, 'article/write.html', context={'form': aform}) else: # 接受用户提交的数据 aform = ArticleForm(request.POST, request.FILES) # 判断数据是否存在 if aform.is_valid(): # cleaned_data中保存了用户所有提交了的数据 # 1对多 直接赋值 data = aform.cleaned_data article = Article() article.title = data.get('title') article.desc = data.get('desc') article.content = data.get('content') article.image = data.get('image') article.desc = data.get('desc') article.user = request.user article.save() # 多对多 必须添加到文章保存的后面添加 article.tags.set(data.get('tags')) # 保存成功后重定向到首页 return redirect(reverse('index')) # 数据不正确重定向,继续填写 return render(request, 'article/write.html', context={'form': aform})
def Article_Add(request): ''' 新增文章 :param request: :return: ''' if request.method == 'GET': category = Category_Article.objects.all() return render(request, 'pc/articlesadd.html', {"category": category}) if request.method == 'POST': forms = Article_form(request.POST) if forms.is_valid(): title = forms.cleaned_data.get('title') content = forms.cleaned_data.get('content') category = request.POST.get('category', '') desc = request.POST.get('desc', '') keywords = request.POST.get('keywords', '') list_pic = request.FILES.get('list_pic', '') authors = forms.cleaned_data.get('authors', '') article = Article() article.title = title article.content = content article.desc = desc article.keywords = keywords article.authors = authors article.category_id = int(category) article.list_pic = list_pic try: article.save() return JsonResponse({"code": 200, "data": "发布成功"}) except Exception: return JsonResponse({"code": 400, "data": "发布失败"}) return JsonResponse({"code": 400, "data": "验证失败"})
def add_return(request): img = request.FILES["docfile"] username = request.session['username'] tit = request.POST['title'] cate = request.POST['category'] cont = request.POST['content'] #need cookie to identify #dt = datetime.datetime.now() default is now!''' a = Article(title=tit, category=cate, content=cont, username=username, image=img) a.save() content = { 'title': tit, 'category': cate, 'datetime': datetime.datetime.now(), 'content': cont, 'username': username, 'url': a.image.url, #still need to add username here } return render(request, "add_success.html", content)
def createArticle(): title = request.form.get('title') print("----------------") print(title) if title: article_content = request.form.get('article_content') print("----------------") print(title) if article_content: author = request.form.get('author') print("----------------") print(title) if author: article = Article(title, article_content, author) db.session.add(article) db.session.commit() return json.dumps({"message": "success"}, default=date_handler) else: return json.dumps({"error": "Author is missing."}, default=date_handler) else: return json.dumps({"error": "Article content is missing."}, default=date_handler) else: return json.dumps({"error": "Article title is missing."}, default=date_handler)
def add(request): if request.method == "POST": content = request.POST.get('content',None) title = request.POST.get('title',None) new = Article(content = content, title = title) new.save() return render_to_response('add.html',{'method_str':request.method})
def one_to_many_view(reuest): # 1.一对多的关联操作 # article = Article(title='测试标题', content='abc') # category = Category.objects.first() # author = FrontUser.objects.first() # # article.category = category # article.author = author # article.save() # 2.获取某个分类下所有文章 # category = Category.objects.first() # # articles = category.article_set.all() # articles = category.articles.all() # for art in articles: # print(art) category = Category.objects.first() article = Article(title="ccc", content="ddd") article.author = FrontUser.objects.first() # article.save() category.articles.add(article, bulk=False) # category.save() return HttpResponse("successfully")
def createArticleId(request): try: json_req = json.loads(request.body) type_id = json_req['type_id'] user_id = get_userid(json_req['token']) login_user = User.objects.get(user_id=user_id) # 先查询是否已经存在articleID article = Article.objects.filter(user_id=login_user, flag=3, title="") # article 已经存在则直接返回 if article.exists(): result = {'code': 200, 'article_id': article[0].article_id} return HttpResponse(json.dumps(result, ensure_ascii=False), content_type="application/json") else: article = Article(user_id=login_user, type_id=type_id, flag=3) # 保存文章 article.save() result = {'code': 200, 'article_id': article.article_id} return HttpResponse(json.dumps(result, ensure_ascii=False), content_type="application/json") except: return HttpResponse(json.dumps({ 'code': 405, 'information': '执行异常!' }), content_type="application/json")