def blog_update(request, id=""): id = id global blog,form,tag,paginator if request.method == 'POST': form = BlogForm(request.POST) tag = TagaddForm(request.POST) if form.is_valid() and tag.is_valid(): cd = form.cleaned_data cdtag = tag.cleaned_data tagname = cdtag['tag_name'] tagnamelist = tagname.split() for taglist in tagnamelist: Tag.objects.get_or_create(tag_name=taglist.strip()) title = cd['caption'] content = cd['content'] blog = Blog.objects.get(id=id) if blog: blog.caption = title blog.content = content blog.save() for taglist in tagnamelist: blog.tags.add(Tag.objects.get(tag_name=taglist.strip())) blog.save() tags = blog.tags.all() for tagname in tags: tagname = unicode(str(tagname), "utf-8") if tagname not in tagnamelist: notag = blog.tags.get(tag_name=tagname) blog.tags.remove(notag) else: blog = Blog(caption=blog.caption, content=blog.content) blog.save() # return HttpResponseRedirect('/sblog/blog/%s'% id) blogs = Blog.objects.all() paginator = Paginator(blogs, 4) page = request.GET.get('page') try: contacts = paginator.page(page) except PageNotAnInteger: contacts = paginator.page(1) except (EmptyPage,InvalidPage): contacts = paginator.page(paginator.num_pages) return render_to_response('admin_bloglist.html',{"content":content}) else: try: blog = Blog.objects.get(id=id) except Exception: raise Http404 form = BlogForm(initial={'caption': blog.caption, 'content': blog.content}, auto_id=False) tags = blog.tags.all() if tags: taginit = '' for x in tags: taginit += str(x) + ' ' tag = TagaddForm(initial={'tag_name': taginit}) else: tag = TagaddForm() return render_to_response("admin_blogupdate.html", {'blog': blog, 'form': form, 'id': id, 'tag': tag},context_instance=RequestContext(request))
def make(self, **kwargs): make_path = kwargs.get("make", "") if not make_path: smart_print(u"请指定文件名") post_root = settings.POST_DIR_ROOT path = os.path.join(post_root, "%s.md" %make_path) file_handler = open(path, "r") text = file_handler.read() file_handler.close() html = md.convert(text.decode("utf-8")) metadata = parse_meta(md) metadata['content'] = HtmlFormatter.format_html(html) title = metadata.get("title", "") if not title: print("MD文件无title") return blog = Blog.get_by_unique(title=title) if not blog: blog = Blog() for key, value in metadata.items(): setattr(blog, key, value) blog.save() smart_print("博客: %s,存储成功" %title)
def newblog (request, page_id): u = User.objects.get (id=get_uid ()) if is_prepare (): blog_ls = base_ls () blog_ls.set_S (flmo.Label (set (blog_ls.get_S ()) | set (prepare_stags ()))) bp = make_blogpointer (base_ls (), u, blog_ls, page_id) return ("Created BlogPointer with id %d and S label %s for page_id %s" % (ap.id, blog_ls, page_id)) elif request.POST.has_key ('title'): title = request.POST['title'] previous_page_id = request.POST['page_id'] try: bp = BlogPointer.objects.get (page_id=previous_page_id) except BlogPointer.DoesNotExist: bp = make_blogpointer (base_ls (), u, base_ls (), page_id) b = Blog (blogpointer=bp, title=title, owner=u, pub_date=datetime.datetime.now ()) b.save (desls=bp.get_labelset ()) return HttpResponseRedirect (urlprefix () + '/upload/newpost/%d/%d/' % (b.id, new_page_id ())) else: return render_to_response ('newblog.html', {'urlprefix': urlprefix (), 'page_id': page_id, 'new_page_id': new_page_id (), })
def post(self, request): """ Crea un user en base a la información POST :param request: HttpRequest :return: HttpResponse """ success_message = '' form = SignupForm(request.POST) if form.is_valid(): user = User() user.username = form.cleaned_data.get('usr') user.first_name = form.cleaned_data.get('first_name') user.last_name = form.cleaned_data.get('last_name') user.email = form.cleaned_data.get('email') user.set_password(form.cleaned_data.get('password')) user.save() blog = Blog() blog.title = "My first blog" blog.owner = user blog.save() success_message = 'Creado con éxito!' success_message += '<a href="{0}">'.format( reverse('post_home', args=[]) ) success_message += 'go Home!' success_message += '</a>' context = { 'form': form, 'success_message': success_message } return render(request, 'users/new_user.html', context)
def blog_add(request): author = Author.objects.all() ification = Classification.objects.all() tags = Tag.objects.all() if request.method == 'POST': af = BlogForm(request.POST) if af.is_valid(): cd = af.cleaned_data caption = cd['caption'] auid = request.POST.get('authorid') auth = Author.objects.get(id=auid) cationid = request.POST.get('ificationid') ication = Classification.objects.get(id=cationid) content = cd['content'] blog = Blog(caption = caption, author = auth, content = content, if_name = ication) blog.save() try: tags = request.POST.getlist('answer',None) for tag in tags: blog.tags.add(Tag.objects.get(tag_name=tag)) blog.save() except DoesNotExist: raise Http404 return HttpResponseRedirect('/blog/admin/blog_list/') else: af = BlogForm() return render_to_response('admin_badd.html',locals(), context_instance=RequestContext(request))
def add_blog(request): try: req = convertRequest(request) category_name = req.get('category_name', '') if category_name != '': category_name = req.get('category_name', '') category = Category.objects.get_or_create(category_name=category_name)[0] category_id = category.id else: category_id = req.get('category_id', 0) title = req.get('title', '') content =req.get('content', '') user_id = req.get('user_id', 0) if title != '' and category_id != 0 and user_id != 0: user = User.objects.get(id=user_id) category = Category.objects.get(id=category_id) blog = Blog(title=title, content=content, category=category, user=user) blog.save() return HttpResponse(response_json.success()) except Exception, e: return HttpResponse(response_json.fail(traceback.format_exc()))
def add_news(request): if not request.user.is_authenticated(): return redirect('/login/') else: error = "" title = content = "" maybe_title=maybe_content="" if 'add_title' in request.POST and 'add_content' in request.POST: add_title = request.POST.get('add_title') add_content = request.POST.get('add_content') if not add_content or not add_title: error = "please enter the form completely" maybe_title = request.POST.get('add_title') maybe_content = request.POST.get('add_content') else: #print 'time' #print datetime.datetime.now() p = Blog(title=add_title,content = add_content,time=datetime.datetime.now()) p.save() return redirect('/cpanel/') return render(request, 'addnews.html', {'state':error,'maybe_title':maybe_title,'maybe_content':maybe_content})
def edit_blog(request, username, blog_id=None): if request.method == "POST": if blog_id is None: blog = Blog() blog.create_date = datetime.now() blog.username = username else: blog = Blog.objects.get(pk=blog_id) form = BlogForm(request.POST, instance=blog) if form.is_valid(): blog.modify_date = datetime.now() # every edit changed the modify date blog.published_date = ( None ) # since we have edited the blog we will need to re-publish it (maybe not the right thing to do) # import logging; logging.debug(form.instance.__dict__) form.save() # import logging; logging.debug(form.instance.__dict__) return redirect("blog.views.view_blog", username=username, blog_id=blog.pk) else: if blog_id is None: form = BlogForm() else: blog = get_object_or_404(Blog, pk=blog_id) form = BlogForm(instance=blog) return render_to_response( "blog/edit_blog.html", {"blog_id": blog_id, "form": form, "username": username}, context_instance=RequestContext(request), )
def make_blog(sender, **kwargs): """ Create a new blog during syncdb. The user *should* create a superuser so assume that this is the blog author. """ if not kwargs['interactive']: return # Do nothing if a blog already exists try: blog = Blog.objects.all()[0] return except IndexError: pass # Create a blog if a user exists try: author = User.objects.all()[0] except IndexError: return try: # Prompt for a blog title title = raw_input('Blog title: ') blog = Blog(title=title, author=author) blog.save() except KeyboardInterrupt: sys.stderr.write("\nOperation cancelled.\n") sys.exit(1)
def blog_add(request): if request.method == 'POST': form = BlogForm(request.POST) tag = TagForm(request.POST) if form.is_valid() and tag.is_valid(): cd = form.cleaned_data cdtag = tag.cleaned_data tagname = cdtag['tag_name'] for taglist in tagname.split(): Tag.objects.get_or_create(tag_name=taglist.strip()) title = cd['caption'] author = Author.objects.get(id=1) content = cd['content'] blog = Blog(caption=title, author=author, content=content) blog.save() for taglist in tagname.split(): blog.tags.add(Tag.objects.get(tag_name=taglist.strip())) blog.save() id = Blog.objects.order_by('-publish_time')[0].id return HttpResponseRedirect('/myblog/blog/%s' % id) #return HttpResponseRedirect(reverse('detailblog',args=[id])) else: form = BlogForm() tag = TagForm(initial={'tag_name': 'notags'}) return render(request,'blog_add.html', {'form': form, 'tag': tag}, context_instance=RequestContext(request))
def create_blog(request): errors = [] template = "blog/templates/create_blog.html" form = CreateBlogForm() user = request.user if not user.is_authenticated(): raise Http404 if request.method == "POST": form = CreateBlogForm(request.POST) if form.is_valid(): try: data = form.cleaned_data _blog = Blog() _blog.title = data["title"] _blog.owner = user _blog.url = data["url"] _blog.tagline = data["tagline"] _blog.active = True _blog.save() _blog.contributors.add(user) _blog.save() return HttpResponseRedirect("/blog/%s/"%user.username) except: errors.append("Blog URL already taken.") return render(request, template, {"errors":errors, "form":form})
def settings(): blog = Blog.getone() if blog is None: blog = {}.fromkeys(Blog.get_fields(), '') flashx.warning('You have no settings, please eidt and save') return render_template('settings.html', active_tab='settings', blog=blog)
def editor(request): if request.method == 'POST' : if 'content' in request.POST: blog=Blog(title=request.POST['title'].encode('utf8'),content=request.POST['content'].encode('utf8')) blog.save() return render_to_response('editor.html', {'title': '编辑日志' },context_instance=RequestContext(request))
def metaWeblog_newPost(user, blogid, struct, publish): # todo - parse out technorati tags post = Blog(title = struct['title'], body_markdown = struct['description'], slug = struct.get('permaLink', None), ) post.save() setTags(post, struct) return post.id
def create(request): if request.method == "GET": return render(request,'blog/create.html',{}) new_blog = Blog() new_blog.title = request.POST["title"] new_blog.text = request.POST["text"] new_blog.save() return redirect('blog_id',new_blog.id)
def setUp(self): self.setUpProfile() blog = Blog(active = True, owner = self.user, name = "Tester's blog") blog.save() tag = Tag(name = "test tag") tag.save() post = Post(owner = self.user, title = "Title", text = "This is test text", blog = blog) post.save() post.tags = [tag] post.save()
def newPost(self, blogid, username, password, struct, publish): self.__isUser(username, password) # print(("blogid:", blogid)) # print(("struct:", struct)) title = struct['title'] content = struct['description'] categorie = struct['categories'][0] #生成静态HTML文件 id = None try: path = r'{0}/templates'.format(os.path.dirname(__file__)) id = len(sum([i[2] for i in os.walk(path)], [])) # print("博客ID:", id) static(id, content, categorie, title) blog = Blog() blog.blog_id = id blog.title = title blog.categorie = categorie blog.content = content blog.summary = get_summary(content, 150, u'...') blog.post_time = datetime.datetime.today() blog.save() except Exception as e: error_log.error("生成静态文件失败:{0}".format(e)) return id
def process_item(self, item, spider): blog=Blog() blog.blog_title=item['title'] #blog.blog_text="[%s](%s)"%(item['title'],item['href']) #处理href,只取最后几位数字 num=item['href'].split('.')[-2][-7:] blog.blog_text='blog/html/'+num+'.html' blog.blog_img='' blog.blog_text_brief='' blog.pub_date=datetime.datetime.strptime(item['date_str'],'%Y-%m-%d %H:%M') blog.blog_praise=int(item['commentnum']) blog.save() #html=open(blog.blog_text,'w') #content=item['content'] #html.write(content.encode("gbk")) #html.close() html_dir='/home/dk/mysite/blog/templates/'+blog.blog_text file=open(html_dir,'w') u=item['content'] file.write(u.encode('utf-8'))#utf8转str file.close() return item
def form_valid(self, form): if hasattr(self.request.user, 'blog'): form.instance.blog = self.request.user.blog else: if 'create' in self.request.POST: blog = Blog() blog.author = self.request.user blog.title = self.request.user.get_full_name() blog.save() form.instance.blog = blog return super(PostCreateView, self).form_valid(form)
def post(self, request): serializer = UserSerializer(data=request.data) if serializer.is_valid(): new_user = serializer.save() blog = Blog() blog.title = request.data.get("blog") blog.owner = new_user blog.save() return Response(serializer.data, status=status.HTTP_201_CREATED) else: return Response(serializer.errors, status=status.HTTP_400_BAD_REQUEST)
def addblogok(request): title=request.POST.get('title') tag_ids=request.POST.getlist('tag_name') content=request.POST.get('content') blog=Blog() blog.title=title blog.content=content blog.save() for tag_id in tag_ids: list=Tag.objects.get(id=int(tag_id)) blog.tags.add(list) return HttpResponseRedirect('/list/')
def blog_update(request, id=""): id = id if request.method == 'POST': form = BlogForm(request.POST) tag = TagForm(request.POST) if form.is_valid() and tag.is_valid(): cd = form.cleaned_data cdtag = tag.cleaned_data tagname = cdtag['tag_name'] tagnamelist = tagname.split() for taglist in tagnamelist: Tag.objects.get_or_create(tag_name=taglist.strip()) title = cd['caption'] content = cd['content'] blog = Blog.objects.get(id=id) if blog: blog.caption = title blog.content = content blog.save() for taglist in tagnamelist: blog.tags.add(Tag.objects.get(tag_name=taglist.strip())) blog.save() tags = blog.tags.all() for tagname in tags: tagname = unicode(str(tagname), "utf-8") if tagname not in tagnamelist: notag = blog.tags.get(tag_name=tagname) blog.tags.remove(notag) else: blog = Blog(caption=blog.caption,content=blog.content) blog.save() return HttpResponseRedirect('/newblog/%s' % id) else: try: blog = Blog.objects.get(id=id) except Exception: raise Http404 form = BlogForm(initial={'caption': blog.caption,'content': blog.content}, auto_id=False) tags = blog.tags.all() if tags: taginit = '' for x in tags: taginit += str(x) + ' ' tag = TagForm(initial={'tag_name': taginit}) else: tag = TagForm() return render_to_response('blog_add.html',{'blog': blog, 'form': form, 'id': id, 'tag': tag}, context_instance=RequestContext(request))
def blog(request): template=loader.get_template('blog/index.html') if request.method=='POST': form=Blog(request.POST) if form.is_valid(): text=form.cleaned_data['text'] header=form.cleaned_data['header'] t=Posting(writing=text,user=header) t.save() return HttpResponse('<html><head></head><body>Success</body></html>') else: form = Blog() context=RequestContext(request,{'x':form,},) return HttpResponse(template.render(context))
def incoming_messages(request): if request.method == 'POST': title = request.POST.get('headers[Subject]', 'derp') body = request.POST.get('plain', 'asdf') email_post = Blog(title=title, body=body) email_post.save() saved_post = Blog.objects.get(slug=email_post.slug) if saved_post: return HttpResponse(200) else: return HttpResponse(404)
def create_sample(num_blogs=50, num_posts_per_blog=4, num_comments_per_post=7, ): for name in names: User.objects.create_user(name, '*****@*****.**' % name, '') users = list(User.objects.all()) for i in range(0, num_blogs): blog = Blog() blog.submitter = random.choice(users) blog.name = random.choice(text.split()) blog.save() for blog in Blog.objects.all(): blog.submitter = random.choice(users) blog.save() for i in range(0, num_posts_per_blog): post = Post.objects.create(body=text, blog=blog, name=random.choice(text.split()), ) for u in users: if random.choice(range(0, 6)) == 0: post.likers.add(u) for post in Post.objects.all(): for i in range(0, num_comments_per_post): PostComment.objects.create(submitter=random.choice(users), post=post, body=text, )
def setUp(self): super_user = User.objects.create_superuser( username='******', email='*****@*****.**', password='******') profile = UserProfile(user=super_user) profile.save() blog = Blog(title='Sample blog', tag_line='Sample tag line', short_description='Sample description', author=super_user) blog.save() blog_post = Post(title='Sample post', content='Sample content', author=super_user, blog=blog, status='p') blog_post.save()
def test_blog(self): blog = Blog(title="test blog") blog.save() self.assertIsInstance(blog, Blog) blog_post = BlogPost(blog=blog, title="test post", content="this is content") blog_post.save() self.assertIsInstance(blog_post, BlogPost) get_by_slug = BlogPost.objects.get_by_slug(blog_post.slug) self.assertIsInstance(get_by_slug, BlogPost) homepage = BlogPost.objects.homepage_posts() self.assertEquals(len(homepage), 1)
def blog_add(request): if request.method == 'POST': form = BlogForm(request.POST) if form.is_valid(): cd = form.cleaned_data title = cd['caption'] author = Author.objects.get(id=1) content = cd['content'] blog = Blog(caption=title, author=author, content=content) blog.save() id = Blog.objects.order_by('-publish_time')[0].id return HttpResponseRedirect('/blog/%s' % id) else: form = BlogForm() return render_to_response('blog/blog_add.html', {'form': form}, context_instance=RequestContext(request))
def migrate_v3(): # Run this quickly before or after deployment Blog.add_to_class('base_url', models.CharField('Base URL', max_length=200)) for blog in Blog.objects.all(): blog.url = '/blog/' + blog.base_url blog.save() Post._meta.get_field('last_update').auto_now = False for post in Post.objects.all(): if post.url and post.published_on and '/' not in post.url: post.url = post.blog.url_prefix + '%04d/%02d/' % (post.published_on.year, post.published_on.month) + post.url post.save() Page._meta.get_field('last_update').auto_now = False for page in Page.objects.all(): page.save()
def add_entry(request): if request.method == 'POST': form = BlogForm(request.POST, request.FILES) if form.is_valid(): cd = form.cleaned_data blog = Blog(title=cd['title'], body_text=cd['body_text']) blog.save() f = request.FILES['img'] des_origin_f = open('/Users/zhongnakakei/Documents/Django/moxisite/blog/static/img/test.jpg', "ab") for chunk in f.chunks(): des_origin_f.write(chunk) des_origin_f.close() return HttpResponseRedirect('/show_entries/') else: form = BlogForm() return render(request, 'blog/show_entries.html', {'form':form})
def setup(): form = SetupForm() error = None if form.validate_on_submit(): # Encrypt password data salt = bcrypt.gensalt() hashed_password = bcrypt.hashpw(form.password.data, salt) # Create Author entitiy author = Author( form.fullname.data, form.email.data, form.username.data, hashed_password, True ) db.session.add(author) db.session.flush() # Check author entity for errors, create Blog entity if none if author.id: blog = Blog( form.name.data, author.id ) db.session.add(blog) db.session.flush() else: db.session.rollback() error = "Error creating user" # Check Blog entity for errors if author.id and blog.id: db.session.commit() flash("Blog Created") return redirect(url_for('admin')) else: db.session.rollback() error = "Error creating blog" return render_template('blog/setup.html', form=form)
def setup(): form = SetupForm() error = None error2 = None #, blogs_from_author if form.validate_on_submit(): #More secure passwords salt = bcrypt.gensalt() hashed_password = bcrypt.hashpw(form.password.data, salt) author = Author(form.fullname.data, form.email.data, form.username.data, hashed_password, True) error = flush_obj(author) if error: db.session.rollback() db.session.close() flash("Error registering admin user") return render_template('blog/setup.html', form=form, error=error) else: blog = Blog(form.name.data, author.id) #TODO: Create view with author's blog, verify if name matches one of them using #blogs_from_author = Blog.query.filter_by().join etc #Throw error if author have blog with same name, else continue # blogs_from_author = db.query.filter_by(admin=author.id) # for blg in blogs_from_author: # if blg.name==blog.name: # error2="Blog and user already exists" # db.sesssion.rollback() # db.session.close() # flash(error2) # return render_template('blog/setup.html', form=form, error=error2) error2 = flush_commit(blog) if error2: flash("Unexpected Database Error registering Blog") return render_template('blog/setup.html', form=form, error=error2) else: session['username'] = form.username.data flash("Blog created") return redirect(url_for('admin')) return render_template('blog/setup.html', form=form, error=error)
def setup(): form = SetupForm() data = request.form error = "" blog_name = data.get('name') username = data.get('username') password = data.get('password') fullname = data.get('fullname') email = data.get('email') print("form.validate_on_submit(): {}".format(form.validate_on_submit())) print("data: {}".format(data)) if form.validate_on_submit(): author = Author(password=password, email=email, fullname=fullname, username=username, is_author=True) db.session.add(author) db.session.flush() if author.id: blog = Blog(admin=author.id, name=blog_name) db.session.add(blog) db.session.flush() else: db.session.rollback() error = "Error creating Author" if author.id and blog.id: db.session.commit() flash("Blog created") return redirect(url_for("admin")) else: db.session.rollback() error = "Error creating Blog" return render_template('blog/setup.html', form=form, error=error)
def blog(id): blog = Blog.get_blog(id) posted_date = blog.posted.strftime('%b %d, %Y') comment_form = CommentForm() if comment_form.validate_on_submit(): name = comment_form.name.data comment = comment_form.comment.data new_comment = Comment(name=name, comment=comment, blogit=blog) new_comment.save_comment() return redirect(url_for('main.blog', id=id)) comments = Comment.get_comments(blog) return render_template('blogs.html', blog=blog, comment_form=comment_form, comments=comments, date=posted_date)
def home(): quotes = get_Quotes() print(quotes) sports = Blog.get_blogs('Sports-Blog') travel = Blog.get_blogs('Travel-Blog') fitness = Blog.get_blogs('Fitness-Blog') fashion = Blog.get_blogs('Fashion-Blog') food = Blog.get_blogs('Food-Blog') politics = Blog.get_blogs('Political-Blog') return render_template('home.html', sports=sports, travel=travel, fitness=fitness, fashion=fashion, food=food, quotes=quotes)
def post(self, request): """ Registro de un user :param request: HttpRequest :return: HttpResponse """ form = RegisterForm(request.POST) context = dict() if form.is_valid(): username = form.cleaned_data.get('username') first_name = form.cleaned_data.get('first_name') last_name = form.cleaned_data.get('last_name') email = form.cleaned_data.get('email') password = form.cleaned_data.get('password') try: user = User.objects.get(username=username, email=email) except User.DoesNotExist: # Creo usuario new_user = User.objects.create_user(username, email, password) # Añado otra información new_user.first_name = first_name new_user.last_name = last_name new_user.save() # Hago Login django_login(request, new_user) # Creo blog al registrar con el nombre del usuario new_blog = Blog() new_blog.name = form.cleaned_data.get( 'blog_name') # nombre por defecto new_blog.owner = request.user new_blog.save() url = request.GET.get('next', 'posts_list') return redirect(url) else: context["form"] = form context['error'] = "Usuario ya registrado" return render(request, 'blog/register.html', context)
def setup_page(): blog = Blog.query.count() if blog: return redirect(url_for("admin_page")) form = SetupForm() error = "" if form.validate_on_submit(): salt = bcrypt.gensalt() hashed_password = bcrypt.hashpw(form.password.data, salt) user = User(form.fullname.data, form.email.data, form.username.data, hashed_password, True) try: db.session.add(user) db.session.flush() except Exception as e: print(e) error = "Choose a unique username and email" return render_template("blog/setup.html", form=form, error=error) if user.user_id: blog = Blog(form.name.data, user.user_id) db.session.add(blog) db.session.flush() else: db.session.rollback() if user.user_id and blog.blog_id: db.session.commit() flash("Blog created") return redirect(url_for("admin_page")) else: db.session.rollback() error = "Error creating blog" return render_template("blog/setup.html", form=form, error=error)
def createBlog(request): last_blog = request.POST.get('last_blog') user = request.user csrf_token = (csrf(request)['csrf_token']) blog = Blog() blog.user = user title = request.POST['title'] blog.title = title content = request.POST['content'] content = content.strip() if len(content): blog.content = content[:255] blog.save() html = _html_feeds(last_blog, user, csrf_token) import pdb pdb.set_trace() return HttpResponse(html)
def setup(): form = SetupForm() error = '' if form.validate_on_submit(): salt = bcrypt.gensalt() hash_pass = bcrypt.hashpw(form.password.data.encode('utf-8'), salt) author = Author( form.fullname.data, form.email.data, form.username.data, hash_pass, True ) db.session.add(author) db.session.flush() if author.id: blog = Blog( form.name.data, author.id ) db.session.add(blog) db.session.flush() else: db.session.rollback() error = 'ERROR creating user' if author.id and blog.id: db.session.commit() flash('blog created') return redirect(url_for('admin')) else: db.session.rollback() error = 'error making blog' # flash() return render_template('blog/setup.html', form=form, error=error)
def setup(): from blog.models import Blog, Article, Comment, Category blogs = [] for title in ["blog1", "blog2"]: blogs.append(Blog(title=title)) Blog.objects.bulk_create(blogs) blogs = list(Blog.objects.all().order_by("id")) for blog in blogs: articles = [] for title in ["hello world", "good bye world"]: articles.append(Article(title=title, content=title, blog=blog)) Article.objects.bulk_create(articles) articles = list(Article.objects.all().order_by("id")) for article in articles: comments = [] for comment in ["comment1", "comment2", "comment3"]: comments.append( Comment(title="anonymous", content=comment, article=article)) Comment.objects.bulk_create(comments) comments = list(Comment.objects.all().order_by("id")) categories = [] for name in ["hello", "good-bye"]: categories.append(Category(name=name)) Category.objects.bulk_create(categories) categories = list(Category.objects.all().order_by("id")) for article in Article.objects.filter(title__startswith="hello"): categories[0].articles.add(article) for article in Article.objects.filter(title__startswith="good-bye"): categories[1].articles.add(article) for category in categories: category.save()
def blog_add(request): if not request.user.is_authenticated(): messages.error(request, "You must login to post a blog") return redirect("login") if not request.method == "POST": form = BlogAddForm return render(request, "blog_add.html", {'form': form}) form = BlogAddForm(request.POST) if not form.is_valid(): return render(request, "blog_add.html", {'form': form}) blog = Blog() blog.user = request.user blog.title = form.cleaned_data['title'] blog.body = form.cleaned_data['body'] blog.save() return redirect("home")
def setUp(self): CustomUser(id=1, first_name='Bohdan', last_name='Dubas', phone='123456789', email='*****@*****.**', is_active=False).save() self.user = CustomUser.objects.get(id=1) Blog(id=22, name='TestName', description='TestDescription', author=self.user).save() self.blog = Blog.objects.get(id=22) Post(id=333, title='TestPost', content='Just testing post', author=self.user, blog=self.blog).save() self.post = Post.objects.get(id=333)
def edit(request, blog_id): blog = Blog.get_detail(request, blog_id) confirm = False images = ContentImage.objects.filter(blog=blog) if request.method == 'POST': form = BlogForm(request.POST, request.FILES, instance=blog) if 'delete_image' in request.POST: # 紐づけ画像の削除 ContentImage.delete_image(request) elif 'delete' in request.POST: # 削除ボタンを押す if not images.exists(): # 紐づけ画像が存在しない confirm = True # 確認画面へ else: # 紐づけ画像が存在する confirm = 'error' elif 'confirmed' in request.POST: # 確認画面での選択 if request.POST['confirmed'] == "はい": if not images.exists(): # 紐づけ画像が存在しない blog.delete() # 削除実行 return redirect('text_list') else: # 紐づけ画像が存在する confirm = 'error' elif form.is_valid(): # 内容変更の保存 blog = form.save() return blog.save_next(request) else: form = BlogForm(instance=blog) context = { 'form': form, 'blog_id': blog_id, 'confirm': confirm, 'images': images } return TemplateResponse(request, 'blog/edit.html', context)
def update_comment(request): #如果用户未登陆,则不允许评论 if not request.user.is_authenticated: return render(request, 'error.html', {'message': '用户未登陆'}) text = request.POST.get('text', '').strip() object_id = int(request.POST.get('object_id', '')) #如果评论内容为空,则不允许评论 if text == '': return render(request, 'error.html', {'message': '评论内容为空'}) blog = Blog() blogtype = ContentType.objects.get_for_model(blog) comment = Comment() comment.user, comment.text = request.user, text comment.content_type, comment.object_id = blogtype, object_id comment.save() #返回数据 data = {} data['username'] = comment.user.username data['comment_time'] = comment.comment_time.strftime('%Y-%m-%d %H:%M:%S') data['text'] = comment.text return JsonResponse(data)
def create_blog(self): uname = self.request.session.get('uname') blog_title = self.request.POST.get('blog_title') blog_classify = self.request.POST.get('blog_classify') blog_label = self.request.POST.get('blog_label') blog_content = self.request.POST.get('blog_content') user_form = UserInfo.objects.filter(name=uname) classify_form = Classify.objects.filter(id=blog_classify) label_form = Label.objects.filter(id=blog_label) try: Blog(name=user_form[0], classify=classify_form[0], label=label_form[0], title=blog_title, content=blog_content, create_time=now(), update_time=now()).save() except Exception as e: print('create blog fail') print(e) return self.ret_dict self.ret_dict['result'] = 1 print('create blog success') return self.ret_dict
def setup(): form = SetupForm() error = "" if form.validate_on_submit(): salt = bcrypt.gensalt() spassword = str(form.password.data) bpassword = spassword.encode() bhashed_password = bcrypt.hashpw(bpassword, salt) shashed_password = bhashed_password.decode() author = Author( form.fullname.data, form.email.data, form.username.data, shashed_password, True ) db.session.add(author) db.session.flush() if author.id: blog = Blog( form.name.data, author.id ) db.session.add(blog) db.session.flush() else: db.session.rollback() error = "Error creating user" if author.id and blog.id: db.session.commit() flash("Blog created") return redirect(url_for('admin')) else: db.session.rollback() error = "Error creating blog" return render_template('blog/setup.html', form=form, error=error)
def create_blog(request,username): _user = get_object_or_404(User,username=username) if not request.user.is_authenticated(): return render(request,'blog/user_home.html',{ 'user':_user, 'error_message':"it's not your space, you can't create a blog", }) if request.POST: _title = request.POST.get('title') if _title.strip() =='': return render(request, 'blog/create_blog.html', { 'user':_user, 'error_message':"You have to write title for a blog." }) b = Blog(user=_user,title=_title.strip()) b.create_slug() b.save() return render(request,'blog/user_home.html',{'user':_user}) else: return render(request, 'blog/create_blog.html', {'user':_user})
# ----------------------------------------------------------------------------------------------------------------------- # *****Meta options: db_table = 'music_album' The name of the database table to use for the model: default_related_name The default is <model_name>_set. managed = True If False, no database table creation or deletion operations will be performed for this model.you manage it youself. ordering = ['pub_date']/ordering = ['-pub_date'] 正反排序 unique_together = ("driver", "restaurant") Sets of field names that, taken together, must be unique # 注意: unique_together = (("driver", "restaurant"), ) != unique_together = ("driver", "restaurant") index_together = ["pub_date", "deadline"] Sets of field names that, taken together, are indexed # ----------------------------------------------------------------------------------------------------------------------- # ******# API that lets you create, retrieve, update and delete [CRUD] Model objects in Python ==>> 1 Creating objects: >>> from blog.models import Blog >>> b = Blog(name='Beatles Blog', tagline='All the latest Beatles news.') >>> b.save() # To create and save an object in a single step, use the [ create() ] method. To save changes[ UPDATE ] to an object that’s already in the database, u can also use save(): >>> b5.name = 'New name' >>> b5.save() 2 Saving ForeignKey and ManyToManyField fields: >>> from blog.models import Entry >>> entry = Entry.objects.get(pk=1) >>> cheese_blog = Blog.objects.get(name="Cheddar Talk") >>> entry.blog = cheese_blog >>> entry.save() 3 use the add() method on the field to add a record to a ManyToManyField relation: >>> from blog.models import Author >>> joe = Author.objects.create(name="Joe")
def setUp(self): self.c = Category(title="MyTitle") self.c.save() self.b = Blog(title="BlogTitle", category=self.c) self.b.save()
def post(self, request, blog_id): form = DeleteBlogForm(request.POST) blog = Blog().get_blog_by_id(blog_id) if form.is_valid(): blog.delete() return render(request, 'blog/messages/blog_was_deleted.html')
一.模型 Each model is a Python class that subclasses django.db.models.Model. Each attribute of the model represents a database field. 二.模型查询 1.create >>> from blog.models import Blog >>> b = Blog(name='Beatles Blog', tagline='All the latest Beatles news.') >>> b.save() 2.save change >>> b5.name = 'New name' >>> b5.save() 3. 三.Aggregation the ways that aggregate values can be generated and returned using Django queries from django.db import models class Author(models.Model): name = models.CharField(max_length=100) age = models.IntegerField() class Publisher(models.Model): name = models.CharField(max_length=300) num_awards = models.IntegerField() class Book(models.Model): name = models.CharField(max_length=300) pages = models.IntegerField() price = models.DecimalField(max_digits=10, decimal_places=2)
def editBlog(): categories = Category.query.all() blog = Blog() return render_template('admin/edit_blog.html', categories=categories, blog=blog)
def create_blog(request): errors = [] template = "blog/templates/create_blog.html" form = CreateBlogForm() user = request.user if not user.is_authenticated(): raise Http404 if request.method == "POST": form = CreateBlogForm(request.POST) if form.is_valid(): try: data = form.cleaned_data _blog = Blog() _blog.title = data["title"] _blog.owner = user _blog.url = data["url"] _blog.tagline = data["tagline"] _blog.active = True _blog.save() _blog.contributors.add(user) _blog.save() return HttpResponseRedirect("/blog/%s/" % user.username) except: errors.append("Blog URL already taken.") return render(request, template, {"errors": errors, "form": form})
def post(self, request): form = WriteBlogForm(request.POST) print(form) title = request.POST.get('title', '') content = request.POST.get('content', '') say = request.POST.get('say', '') image = request.POST.get('image', '') tag = request.POST.get('tag', '') category = request.POST.get('category', '') print(image) blog = Blog() blog.title = title blog.content = content #获取分类 category = Category.objects.get(name=category) blog.category = category #获取封面 if image: blog.image = image #获取作者想说的话,如果为空,则填入作者的个性签名 if not say: blog.want_to_say = request.user.sign else: blog.want_to_say = say blog.author = request.user blog.save() #获取标签 if tag: tag_list = tag.split(',') for tag in tag_list: tag = Tag.objects.get(name=tag) blog.tags.add(tag) blog.save() print('ok') return HttpResponse('{"status":"success","msg":"发布成功"}', content_type='application/json')
def menu_limit_choices_to_blog(): return { 'is_show': True, 'sort__gt': 0, 'pk__in': Blog.queryset_not_cloned(flat_pk=True)}
def mark_preferred(self, request, queryset: Blog): queryset.update(preference=True)
def make_dataset(): community = Communities(name="Com") community.save() blog = Blog(title="Blog", community=community) blog.save() return blog, community
def unmark_preferred(self, request, queryset: Blog): queryset.update(preference=False)
def index(request): context = {'blog_title': Blog().blog_title} # print(context) return render(request, 'blog/index.html', context)
from faker import Faker from blog.models import Blog for i in range(1000): myfaker = Faker(seed=i) blog = Blog() blog.title = myfaker.name() blog.body = myfaker.text() blog.save()