def article_create(request, block_id): block_id = int(block_id) block = Block.objects.get(id=block_id) if request.method == "GET": return render(request, "article_create.html", {"b": block}) else: """ 这段检查代码用校验器forms.py来替代 title = request.POST["title"].strip() content = request.POST["content"].strip() if not title or not content: return render(request, "article_create.html", {"b":block, "error":"标题和内容都不能为空", "title":title, "content":content}) if len(title) > 1000 or len(content) > 10000: return render(request, "article_create.html", {"b":block, "error":"标题和内容不能太长", "title":title, "content":content}) article = Article(block=block, title=title, content=content, status=0) article.save() return redirect("/article/list/%s" %block_id) """ form = ArticleForm(request.POST) if form.is_valid(): #article = Article(block=block, title=form.cleaned_data["title"], content=form.cleaned_data["content"], status=0) 可用下面3行替代,字段多的时候很明显优化 article = form.save(commit=False) article.block = block article.status = 0 article.save() return redirect("/article/list/%s" % block_id) else: return render(request, "article_create.html", { "b": block, "form": form })
def addarticle(request): form = ArticleForm() if request.POST: addform = ArticleForm(request.POST) if addform.is_valid(): addform.save() return render(request, 'addarticle.html', {'form': form})
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 articleCreate(request): ''' Create a new article instance 1. If method is GET, render an empty form 2. If method is POST, * vaildate the form and display error message if the form is invalid * else , save it to the model and redirect to the article page ''' # # TODO: finish the code # return render(request, 'article/article.html') # 測試 template = 'article/articleCreateUpdate.html' if request.method == 'GET': # print(ArticleForm()) 可以看到表單預設結構是table return render(request, template, {'articleForm': ArticleForm()}) # POST articleForm = ArticleForm(request.POST) # 如果驗證錯誤 if not articleForm.is_valid(): return render(request, template, {'articleForm': articleForm}) articleForm.save() # return article(request) messages.success(request, '文章已新增') return redirect('article:article') # 轉向到article
def articleUpdate(request, articleId): ''' Update the article instance: 1. Get the article to update; redirect to 404 if not found 2. If method is GET, render a bound form 3. If method is POST, * vaildate the form and render a bound form if the form is invalid * else, save it to the model and redirect to the article page ''' # # TODO: finish the code # return render(request, 'article/article.html') 測試 article = get_object_or_404(Article, id=articleId) template = 'article/articleCreateUpdate.html' if request.method == 'GET': articleForm = ArticleForm(instance=article) return render(request, template, {'articleForm': articleForm}) # POST articleForm = ArticleForm(request.POST, instance=article) if not articleForm.is_valid(): return render(request, template, {'articleForm': articleForm}) articleForm.save() messages.success(request, '文章已修改') return redirect('article:articleRead', articleId=articleId)
def articleUpdate(request, articleId): ''' Update the article instance: 1. Get the article to update; redirect to 404 if not found 2. Render a bound form if the method is GET 3. If the form is valid, save it to the model, otherwise render a bound form with error messages ''' articleToUpdate = get_object_or_404(Article, id=articleId) template = 'article/articleCreateUpdate.html' if request.method == 'GET': articleForm = ArticleForm(instance=articleToUpdate) return render(request, template, { 'articleForm': articleForm, 'article': articleToUpdate }) # POST articleForm = ArticleForm(request.POST, instance=articleToUpdate) if not articleForm.is_valid(): return render(request, template, { 'articleForm': articleForm, 'article': articleToUpdate }) articleForm.save() messages.success(request, '文章已修改') return redirect('article:articleRead', articleId=articleId)
def article_edit(request, id=0): if request.method == 'POST': form = ArticleForm(request.POST) if form.is_valid(): if id > 0: article = Article.objects.get(id=id) article.title = request.POST['title'] category = Category.objects.get(id=request.POST['category']) article.category = category article.body = request.POST['body'] else: article = form.save(commit=False) article.author = request.user article.save() return article_detail(request, "", article.pk) else: return HttpResponse(form.errors) else: if id > 0: article = Article.objects.get(id=id) if request.user != article.author: return article_detail(request, "", article.pk) form = ArticleForm(instance=article) else: form = ArticleForm() return render(request, 'article/article_edit.html', {'form': form})
def add_article(request): """ Adding new article by user who is logged in :param request: :return: """ # create article form article_form = ArticleForm() if request.method == "POST": # taking form data into variables to use later data = request.POST.copy() # adding author for th article author_id = request.user.id data["author"] = author_id article_form = ArticleForm(data, request.FILES) if article_form.is_valid(): article_form = ArticleForm(data, request.FILES) instance = article_form.save() # if article has highlighted image, it will be re-size if request.FILES.get("image") is not None: tasks.resize_image.delay(instance.image) delete_cache() return redirect(reverse("articles:my_article")) c = {"form": article_form} return render(request, "add_article.html", c)
def article_publish(request, username, **kwargs): user = request.session.get('user') if not user and user.username != username: return HttpResponseForbidden() if request.method == 'GET': article_form = ArticleForm() return render(request, 'article/article_publish.html', { 'article_form': article_form, 'tool_bar': kwargs.get('tool_bar'), }) article_form = ArticleForm(request.POST) if article_form.is_valid(): article = article_form.save(commit=False) article.author = user article.save() return redirect('blog:index') else: return render(request, 'article/article_publish.html', { 'article_form': article_form, 'tool_bar': kwargs.get('tool_bar'), })
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 addArticle (request): arqs = {} arqs.update(csrf(request)) arqs['title'] = 'article' arqs['username'] = auth.get_user(request).username arqs['is_superUser'] = auth.get_user(request).is_superuser if auth.get_user(request).is_superuser == 1: if request.POST: form = ArticleForm(request.POST, request.FILES) #в скобка пишется при загрузке файлов request.FILES if form.is_valid(): article_add = form.save(commit=False) # article_add.article_title = Article.objects.get(request).article_title #article_add.article_text = Article.objects.get(request).article_text article_add.article_user_id = auth.get_user(request).id article_add.article_date = datetime.datetime.today() form.save() return redirect('/articles/get/'+str(article_add.id)) else: arqs['error'] = "huina" # return redirect('/',arqs) else: article_form = ArticleForm arqs['form'] = article_form return render_to_response('addArticle.html', arqs) else: arqs['error'] = 'addArticle' return render_to_response('error.html',arqs)
def dashboard(request): articles = Article.objects.filter(author=request.user) form = ArticleForm(request.POST or None, request.FILES or None) events = Event.objects.all() context = { "form":form, "articles":articles, "events":events, } try: if form.is_valid(): new_article = form.save(commit=False) new_article.author = request.user new_article.save() messages.success(request,"Makale eklendi") except: messages.info(request,"Bir problem oluştu") return render(request,"new_article.html",context)
def editArticle(request, article_id): arqs = {} arqs.update(csrf(request)) arqs['username'] = auth.get_user(request).username arqs['title'] = 'article' arqs['article_id'] = article_id arqs['is_superUser'] = auth.get_user(request).is_superuser if auth.get_user(request).is_superuser == 1: if request.POST: form = ArticleForm(request.POST, request.FILES) if form.is_valid(): article_edit = form.save( commit=False) #article_edit.article_title = Article.objects.get(id = article_id).article_title #article_edit.article_text = Article.objects.get(id = article_id).article_text article_edit.id = Article.objects.get(id = article_id).id article_edit.article_user_id = auth.get_user(request).id article_edit.article_date = datetime.datetime.today() form.save() return redirect('/articles/get/'+str(article_edit.id)) else: arqs['error'] = "huina" #return redirect('/',arqs) else: article_form = ArticleForm arqs['form'] = article_form arqs['article_title'] = Article.objects.get(id = article_id).article_title arqs['article_text'] = Article.objects.get(id = article_id).article_text arqs['article_img'] = Article.objects.get(id = article_id).article_img return render_to_response('editArticle.html', arqs) else: arqs['error'] = 'addArticle' return render_to_response('error.html',arqs)
def addarticle(request): form = ArticleForm(request.POST or None, request.FILES or None) if form.is_valid(): article = form.save(commit=False) article.author = request.user article.save() messages.success(request, "Makale Eklendi!") return redirect("index") return render(request, "addarticle.html", {"form": form})
def create(request): if request.method == 'POST': form = ArticleForm(request.POST, request.FILES) if form.is_valid(): form.save() messages.add_message(request, messages.SUCCESS, "Your Article was added!") return redirect('all_articles') else: form = ArticleForm() return render(request, 'article/create_article.html',{'form': form})
def article_edit(request, article_id): article = Article.objects.get(id=article_id) form = ArticleForm(request.POST or None, instance=article) args = {} args['form'] = form if request.method == 'POST': if form.is_valid(): form.save() return redirect('/articles/get/%s/' % article_id) return render(request, 'article_edit.html', args)
def add_article(request): if request.method == 'POST': form = ArticleForm(request.POST) if form.is_valid(): post = form.save(commit=True) #arti.content = form.content return detail(request, post.id) else: form = ArticleForm() return render(request, 'article/add_article.html', {'form': form})
def articleCreate(request,context): context.update(csrf(request)) if 'submitArticle' in request.POST: #means you click on submit button named createArticle in submit_article.html form = ArticleForm(request.POST) if form.is_valid(): return HttpResponseRedirect("/administrator/articles/get/"+str((form.save()).id)) else: form = ArticleForm()#create a simple ArticleForm context['method']='articleCreate' context['form']=form return render_to_response('backEnd/article/submit_article.html',context)
def create(request): if request.method == 'POST': form = ArticleForm(request.POST, request.FILES) if form.is_valid(): form.save() messages.add_message(request, messages.SUCCESS, "Your Article was added!") return redirect('all_articles') else: form = ArticleForm() return render(request, 'article/create_article.html', {'form': form})
def articleCreate(request): template = 'article/articleCreateUpdate.html' if request.method == 'GET': return render(request, template, {'articleForm': ArticleForm()}) #POST articleForm = ArticleForm(request.POST) if not articleForm.is_valid(): return render(request, template, {'articleForm': articleForm}) articleForm.save() messages.success(request, '文章已新增') return redirect('article:article')
def addarticle(request): form = ArticleForm(request.POST or None, request.FILES or None) context = {"form": form} if form.is_valid(): article = form.save(commit=False) article.author = request.user article.save() messages.success(request, "Makale başarıyla kayıt edilmiştir.") return redirect("index") return render(request, "addarticle.html", context)
def updateArticle(request,id): article = get_object_or_404(Article,id=id) form = ArticleForm(request.POST or None,request.FILES or None,instance = article) if form.is_valid(): article = form.save(commit=False) article.author = request.user article.save() messages.success(request,"Makale Başarı ile Güncellendi.") return redirect("dashboard") return render(request,"update.xhtml",{"form":form})
def article_add(request): form = ArticleForm(request.POST) args = {} args['form'] = form args['article_author'] = request.user if request.method == 'POST': if form.is_valid(): article = form.save(commit=False) article.article_author = request.user article.save() return redirect('users:profile') return render(request, 'article_add.html', args)
def update_article(request, id): article = get_object_or_404(Article, id=id) form = ArticleForm( request.POST or None, request.FILES or None, instance=article) # instance ile formun datasına article'ı yoluyoruz if form.is_valid(): article = form.save(commit=False) article.author = request.user article.save() messages.success(request, "Makale başarıyla güncellendi") return redirect("article:dashboard") return render(request, "article/update_article.html", {'form': form})
def editarticle(request, id): article = Article.objects.get(id=id) form = ArticleForm(instance=article) if request.POST: changeform = ArticleForm(request.POST, instance=article) if changeform.is_valid(): changeform.save() return redirect('/') return render(request, 'editarticle.html', { 'form': form, 'article': article })
def create(request): form = ArticleForm(request.POST, request.FILES) if request.method == 'POST': if form.is_valid(): form.save() return HttpResponseRedirect('/articles/all') else: form = ArticleForm() return render(request, 'body/create.html', {'form': form})
def create(request, id): blog = Blog.objects.get(id = id) if request.method == "POST": form = ArticleForm(request.POST, request.FILES) if form.is_valid(): f = form.save(commit=False) f.blog_id = id f.save() else: form = ArticleForm() return render(request, 'admin/article/create.html', {'form': form, 'blog': blog})
def articleUpdate(request, articleId): article = get_object_or_404(Article, id=articleId) template = 'article/articleCreateUpdate.html' if request.method == 'GET': articleForm = ArticleForm(instance=article) return render(request, template, {'articleForm': articleForm}) #POST articleForm = ArticleForm(request.POST, instance=article) if not articleForm.is_valid(): return render(request, template, {'articleForm': articleForm}) articleForm.save() messages.success(request, '文章已修改') return redirect('article:articleRead', articleId=articleId)
def newArticle(request): from article.forms import ArticleForm if request.method == "POST": form = ArticleForm(request.POST) if form.is_valid(): form.save() return HttpResponseRedirect("/#agregado") else: form = ArticleForm() ctx ={ "formulario": form } return render_to_response("form.html", ctx, context_instance=RequestContext(request))
def addart(request): from article.forms import ArticleForm form = ArticleForm(request.POST or None,request.FILES or None) if form.is_valid(): article = form.save(commit=False) article.author = request.user article.save() messages.success(request,"Makale Başarı ile oluşturuldu.") return redirect("dashboard") context = { "form" : form } return render(request,"addart.xhtml",context)
def addArticle(request): form = ArticleForm(request.POST or None, request.FILES or None) if form.is_valid(): article = form.save(commit=False) # creates only the article object article.author = request.user article.save() messages.success(request,"Successfully added a new article.") return redirect("article:dashboard") else: context = { "form":form } return render(request,"addarticle.html", context)
def add_article(request): user = request.user form = ArticleForm() if request.method == 'POST': form = ArticleForm(request.POST) if form.is_valid(): article = form.save(commit=False) article.author = user.profile article.save() return redirect('detail', pk=article.pk) elif user.groups.filter(name="Authors").count(): return render(request, 'article/article_form.html', {'form': form}) else: return render(request, 'article/permission.html')
def create(request): if request.POST: form = ArticleForm(request.POST, request.FILES) if form.is_valid(): form.save() return HttpResponseRedirect("/articles/all/") else: form = ArticleForm() args = {} args.update(csrf(request)) args["form"] = form return render(request, "create_article.html", args)
def articleUpdate(request, articleId): article = get_object_or_404(Article, id=articleId) template = 'article/articleCreateUpdate.html' if request.method == 'GET': articleForm = ArticleForm(instance=article) return render(request, template, {'articleForm': articleForm}) # POST articleForm = ArticleForm(request.POST, instance=article) if not articleForm.is_valid(): return render(request, template, {'articleForm': articleForm}) articleForm.save() messages.success(request, '文章已修改') return redirect('article:articleRead', articleId=articleId)
def updatearticle(request, id): article = get_object_or_404(Article, id=id) form = ArticleForm(request.POST or None, request.FILES or None, instance=article) if form.is_valid(): article = form.save(commit=False) article.author = request.user article.save() messages.success(request, "Makale başarıyla güncellendi.") return redirect("index") context = {"form": form} return render(request, "updatearticle.html", context)
def create(request): if request.POST: form = ArticleForm(request.POST,request.FILES) if form.is_valid(): form.save() return HttpResponseRedirect('/articles/all') else: form = ArticleForm() args = {} args.update(csrf(request)) args['form'] = form return render_to_response('create_article.html',args)
def add_article(request): form = ArticleForm(request.POST or None, request.FILES or None) if form.is_valid(): article = form.save( commit=False ) # bu form bir modelform olduğu için bunu kaydetmemiz çok kolay olacak. commit=False -> article objesini form fieldlardan oluştur fakat henüz save yapma article.author = request.user # mevcut oturumdaki kullanıcı article'ın yazarı olsun article.save() # bu sefer commiti yapıyoruz messages.success(request, "Makale başarıyla oluşturuldu") return redirect("article:dashboard") messages.success(request, "Makale başarılı bir şekilde kayıt edildi") return return render(request, 'article/add_article.html', {'form': form})
def create(request): if request.POST: form = ArticleForm(request.POST, request.FILES) if form.is_valid(): c = form.save(commit=False) c.pub_date = timezone.now() c.save() messages.add_message(request, messages.SUCCESS, "Your article was added") return HttpResponseRedirect('/articles/all') else: form = ArticleForm() args = {} args.update(csrf(request)) args['form'] = form return render_to_response('create_article.html', args)
def create(request): if request.POST: form = ArticleForm(request.POST, request.FILES) if form.is_valid(): form.save() return HttpResponseRedirect('/articles/all') else: form = ArticleForm() data = {} data['form'] = form data.update(csrf(request)) return render_to_response('create_article.html', data)
def create(request): if request.POST: form = ArticleForm(request.POST) if form.is_valid(): form.save() return HttpResponseRedirect('/articles/all') else: form = ArticleForm() args = {} args.update(csrf(request)) args['form'] = form return render_to_response('create_article.html', args)
def article_create(request, block_id): block_id = int(block_id) block = Block.objects.get(id=block_id) if request.method == "GET": return render(request, "article_create.html", {"b": block}) else: form = ArticleForm(request.POST) if form.is_valid(): article = form.save(commit=False) article.owner = request.user article.block = block article.status = 0 article.save() return redirect("/article/list/%s" % block_id) else: return render(request, "article_create.html", {"b": block, "form": form})
def post(self,request,block_id): self.init_data(block_id) form = ArticleForm(request.POST) #username = request.user #userinfo = User.objects.get(username=username) if form.is_valid(): article = form.save(commit=False) article.block = self.block #获取当前用户的request.user article.owner = request.user article.status = 0 article.save() return redirect("/article/list/%s" % self.block_id) else: return render(request,self.template_name,{'b':self.block,'form':form})
def editArticle(request, id_article): art = getArticleById(id_article) from article.forms import ArticleForm if request.method == "POST": form = ArticleForm(request.POST, instance=art) if form.is_valid(): form.save() return HttpResponseRedirect("/#editado") else: if art: form = ArticleForm(instance=art) else: return HttpResponseRedirect("/#no-existe-ese-articulo") ctx ={ "formulario": form } return render_to_response("form.html", ctx, context_instance=RequestContext(request))
def articleEdit(request,context,article_id): #if article with this article_id doesn't exist #### context.update(csrf(request)) lastArticle=Article.objects.get(id=article_id) if lastArticle is None: # Is there any article to edit! return HttpResponseRedirect("/administrator/articles/all") if 'submitArticle' in request.POST: #make sure that user click save button articleForm = ArticleForm(request.POST,instance=lastArticle) #to edit we set instance otherwise this create new article if articleForm.is_valid(): articleForm.save() return HttpResponseRedirect("/administrator/articles/get/"+article_id) else:# if user enter for first time So needed to show article informations articleForm=ArticleForm(instance=lastArticle) context['method']='articleEdit' context['article_id']=article_id context['form']=articleForm return render_to_response('backEnd/article/submit_article.html',context)
def articleCreate(request): template = 'article/articleCreateUpdate.html' # if request is GET, to write article page if request.method == 'GET': articleForm = ArticleForm() print("articleCreate:GET") return render(request, template, {'articleForm': articleForm}) # if request is POST articleForm = ArticleForm(request.POST) print("articleCreate:POST") # data is invalid, save error data if not articleForm.is_valid(): print("data invalid") return render(request, template, {'articleForm': articleForm}) # data is valid, insert data to database articleForm.save() # return article(request) messages.success(request, '文章以新增') return redirect('article:article')
def edit_article(request, pk=None): if pk: article = get_object_or_404(Article, pk=pk) if article.user != request.user: return HttpResponseForbidden() else: article = Article(user=request.user) if request.method == "POST": form = ArticleForm(request.POST, instance=article) else: form = ArticleForm(instance=article) if form.is_valid(): form.save() redirect_url = reverse('all') return redirect(redirect_url) else: return render(request, 'article/create_article.html', {'form': form})
def edit_article(request, pk=None, template=None): """编辑日志""" if pk: article = get_object_or_404(Article, pk=pk) if article.author != request.user: return HttpResponseForbidden(u"你没有权限编辑别人的文章") else: article = Article(author=request.user) form = ArticleForm(request.user, request.POST or None, instance=article) if form.is_valid(): new_article = form.save() attachment = request.POST.get("attachment", None) try: attachment_pk_list = attachment.split(",") attachment_list = Attachment.objects.filter(pk__in=attachment_pk_list) new_article.attachment_set.add(*attachment_list) except: pass redirect_url = reverse("view_article", args=[new_article.pk]) return HttpResponseRedirect(redirect_url) return {"form": form}, template