示例#1
0
 def create(self):
     data = self.parse_data()
     article = models.Article(**data)
     if self.request.FILES:
         print(self.request.FILES)
         article.head_img = ArticleHandler.file_upload(
             self.request.FILES['head_img'])
     article.save()
示例#2
0
def contribute(request):
    if request.method=="GET":
        article_form=form.ArticleModelForm()
    if request.method=="POST":
        article_form=form.ArticleModelForm(request.POST,request.FILES)
        if article_form.is_valid():
            #将模型中的参数转化为字典去取出来
            data=article_form.cleaned_data

            data['author_id'] = request.user.userprofile.id
            article_object=models.Article(**data)
            article_object.save()

            return HttpResponse("ok!!")
    return render(request, "bbs/contribute-article.html", {"article_form": article_form})
示例#3
0
def new_article(request):
    if request.method=="GET":
        article_form = forms.ArticleModelForm() #实例化form类
        return render(request,'bbs/new_article.html',{'article_form':article_form,})
    elif request.method == 'POST':
        print(request.POST)
        print(request.FILES)
        article_form = forms.ArticleModelForm(request.POST,request.FILES)
        if article_form.is_valid():
            data = article_form.cleaned_data
            data['author_id'] = request.user.userprofile.id
            article_obj = models.Article(**data)
            article_obj.save()
            # article_form.save()
        else:
            return render(request,'bbs/new_article.html',{'article_form':article_form,})
        return HttpResponse('创建成功')
示例#4
0
def new_article(request):#发贴功能
    if request.method == "GET":
        article_form = form.ArticleModelForm()
        return  render(request,'bbs/html/new_article.html',{'article_form':article_form})
    elif request.method =="POST":
        print(request.POST)
        print(request.FILES)
        article_form = form.ArticleModelForm(request.POST,request.FILES)#文件和图片在FILES参数里
        if article_form.is_valid():
            data = article_form.cleaned_data
            data['author_id'] = request.user.userprofile.id
            article_obj = models.Article(**data)
            article_obj.save()
            #article_form.save()
            return HttpResponse('发布成功')
        else:
            return render(request, 'bbs/html/new_article.html', {'article_form': article_form})
示例#5
0
def new_article(request):
    if request.method == 'GET':
        article_form = form.ArticleModelForm()
        return render(request, 'bbs/new_article.html',
                      {"article_form": article_form})
    elif request.method == 'POST':
        article_form = form.ArticleModelForm(request.POST, request.FILES)
        if article_form.is_valid():
            print('----', article_form.cleaned_data)
            print(request.user)
            # article_form.cleaned_data['author_id'] = request.user.userprofile.id
            print("发布成功")
            data = article_form.cleaned_data  #将验证好的数据转换成字典
            data['author_id'] = request.user.userprofile.id  # 将用户id塞进去
            article_obj = models.Article(**data)  # 添加文章
            article_obj.save()  # 保存
            return HttpResponse("发布成功")
        else:
            return render(request, 'bbs/new_article.html',
                          {"article_form": article_form})
示例#6
0
def new_article(request):
    '''
    发表新文章
    '''
    if request.method == 'GET':
        article_form = forms.ArticleModelForm()
        return render(request, 'bbs/new_article.html', locals())

    elif request.method == 'POST':
        print(request.POST)
        article_form = forms.ArticleModelForm(request.POST, request.FILES)
        if article_form.is_valid():
            data = article_form.cleaned_data
            data['author_id'] = request.user.userprofile.id
            article_obj = models.Article(**data)
            article_obj.save()
            # article_form.save()
            return HttpResponse('发帖成功')
        else:
            return render(request, 'bbs/new_article.html', locals())
示例#7
0
def new_article(request):
    if request.method == 'GET':
        article_form = form.ArticleModelForm()
        return render(request, 'bbs/new_article.html',
                      {'article_form': article_form})
    elif request.method == 'POST':
        article_form = form.ArticleModelForm(request.POST, request.FILES)
        if article_form.is_valid():
            data = article_form.cleaned_data
            data['author_id'] = request.user.userprofile.id
            data['pub_date'] = datetime.datetime.now()
            article_obj = models.Article(**data)
            user_obj = models.UserProfile.objects.get(id=data['author_id'])
            experience = user_obj.experience + 100
            user_obj.experience = experience
            user_obj.save()
            article_obj.save()
            return HttpResponseRedirect('/bbs')
        else:
            return render(request, 'bbs/new_article.html',
                          {'article_form': article_form})
示例#8
0
def new_article(request):
    from bbs.form import ArticleModelForm
    if request.method == 'GET':
        article_form = ArticleModelForm()
    elif request.method == 'POST':
        # 注意:如果是上传图片,必须用request.FILES,用POST是没法收到图片的。然后from里面必须写上"multipart/form-data"。两个条件必须满足才能上传成功。
        # 想要后台能够收到图片,就得在ArticleModelForm(request.POST,request.FILES)
        article_form = ArticleModelForm(request.POST, request.FILES)
        #注意cleaned_data出现的位置,必须在is_valid()后面,否则会报错
        print(article_form.is_valid(), article_form.cleaned_data,
              article_form.errors)
        print(request.FILES)
        if article_form.is_valid():
            data = article_form.cleaned_data  #利用cleaned_data将其变成字典形式
            print(type(data))
            data['author_id'] = request.user.userprofile.id
            article_obj = models.Article(**data)
            article_obj.save()
            # article_form.save()       #由于对article_form添了加内容,所以不能直接用ModelForm的save了。
            return HttpResponseRedirect('/bbs')
    return render(request, 'bbs/new_article.html',
                  {'article_form': article_form})
示例#9
0
def new_article(request):
    if request.method == "GET":
        article_form = form.ArticleModelForm()
        return render(request, "bbs/new_article.html", {
            "category_list": category_list,
            "article_form": article_form
        })
    elif request.method == "POST":
        print(request.POST)
        article_form = form.ArticleModelForm(request.POST, request.FILES)
        if article_form.is_valid():
            data = article_form.cleaned_data
            data["author_id"] = request.user.userprofile.id
            article_obj = models.Article(**data)
            article_obj.save()
            # article_form.save()
            return HttpResponse("发帖成功!")
        else:
            return render(request, "bbs/new_article.html", {
                "category_list": category_list,
                "article_form": article_form
            })
示例#10
0
def new_article(request):
    '''
    发帖页面,post表示提交文章,get表示返回页面
    :param request:
    :return:
    '''

    # 判断用户有没有登录,如果没有登录,则跳转到登陆页面
    # request.user.is_authenticated
    # 若已经登录,那么允许发帖
    if request.method == "POST":
        # 提交文章内容
        # print(request.POST)
        # 图片文件在request.FILES中
        article_form = form.ArticleModelForm(request.POST, request.FILES)
        if article_form.is_valid():
            # print(article_form.cleaned_data)
            # article_form.cleaned_data是一个属性,不能直接更改,所以要赋给data
            data = article_form.cleaned_data
            data['author_id'] = request.user.userprofile.id

            article_obj = models.Article(**data)
            article_obj.save()

            # article_form.save()
            return HttpResponseRedirect("/bbs/")
        else:
            return render(request, "bbs/new_article.html", {
                "category_list": category_list,
                "article_form": article_form,
            })

    # 使用modelForm来展示新建文章表单
    article_form = form.ArticleModelForm()
    return render(request, "bbs/new_article.html", {
        "category_list": category_list,
        "article_form": article_form,
    })
示例#11
0
def new_article(request):

    if request.method == "GET":
        article_form = form.ArticleModelForm()
        return render(request, 'bbs/new_article.html', {
            'article_form': article_form,
            'category_list': category_list
        })
    elif request.method == "POST":
        print(request.POST)
        article_form = form.ArticleModelForm(request.POST, request.FILES)
        if article_form.is_valid():
            data = article_form.cleaned_data  # cleaned_data 转换成字典格式
            data['author_id'] = request.user.userprofile.id
            article_obj = models.Article(**data)
            article_obj.save()
            article_list = models.Article.objects.filter(status='published')
            return HttpResponse('Published success....')
            # return render(request, 'bbs/index.html',{'category_list': category_list, 'articel_list': article_list})
        else:
            return render(request, 'bbs/new_article.html', {
                'article_form': article_form,
                'category_list': category_list
            })