def write(request): board = Board() try: groupno = int(request.POST['groupno']) orderno = int(request.POST['orderno']) depth = int(request.POST['depth']) Board.objects.filter(groupno=groupno). \ filter(orderno__gte=orderno + 1). \ update(orderno=F('orderno') + 1) board.title = request.POST['title'] board.content = request.POST['content'] board.user_id = request.POST['user_id'] board.groupno = groupno board.orderno = orderno + 1 board.depth = depth + 1 except Exception as e: board.title = request.POST['title'] board.content = request.POST['content'] board.user_id = request.POST['user_id'] board.groupno = groupno_max() + 1 board.save() return HttpResponseRedirect('/board')
def write_reply(request, parent_id): authuser = check_login_auth(request) if authuser is None: return HttpResponseRedirect('/user/loginform') board = Board() parent = Board.objects.get(id=parent_id) groupno = parent.groupno orderno = parent.orderno + 1 depth = parent.depth + 1 results = Board.objects.filter(groupno=groupno).filter( orderno__gte=orderno).update(orderno=F('orderno') + 1) title = request.POST['title'] content = request.POST['content'] userid = request.session['authuser']['id'] board.title = title board.content = content board.user_id = userid board.groupno = groupno board.orderno = orderno board.depth = depth board.save() return HttpResponseRedirect('/board')
def replyadd(request): authuser = request.session["authuser"] user_id = authuser["id"] board = Board() board.group_no = request.GET['gno'] board.title = request.POST['title'] board.message = request.POST['message'] board.user_id_id = user_id numbers = Board.objects.get(id=request.GET['id']) if numbers.order_no == 0: board.order_no = numbers.order_no + 1 board.depth = numbers.depth + 1 elif numbers.order_no >= 1: last_ono = Board.objects.filter(group_no=numbers.group_no).aggregate( Max('order_no')) board.order_no = last_ono['order_no__max'] + 1 if board.order_no > numbers.order_no: board.order_no = numbers.order_no + 1 board.depth = numbers.depth + 1 else: last_depth = Board.objects.aggregate(Max('depth')) numbers.depth = last_depth['depth__max'] + 1 board.save() return HttpResponseRedirect("/board")
def write(request): user_id = get_session_user_id(request) if not user_id: return HttpResponseRedirect('/board/1') article = Board() article.user = User.objects.get(id=user_id) article.title = request.POST['title'] article.content = request.POST['content'] if request.POST["write_type"] == "new": value = Board.objects.aggregate(max_groupno=Max('groupno')) if value["max_groupno"] is not None: article.groupno = value["max_groupno"] + 1 print("new") else: obj = Board.objects.get(id=request.POST["write_type"]) article.groupno = obj.groupno article.orderno = obj.orderno + 1 article.depth = obj.depth + 1 Board.objects.filter(groupno=obj.groupno). \ filter(orderno__gt=obj.orderno). \ update(orderno=F('orderno') + 1) article.save() obj = Board.objects.latest('id') return HttpResponseRedirect('/board/view/' + str(obj.id))
def write(request): user = User.objects.get(id=request.session['authuser']['id']) board = Board() board.user = user board.title = request.POST['title'] board.content = request.POST['content'] print('-------------',request.POST['replyno']) if int(request.POST['replyno']) != 0: # 답글인 경우 originboard = Board.objects.get(id=request.POST['replyno']) Board.objects\ .filter(groupno=originboard.groupno)\ .filter(orderno__gte=originboard.orderno)\ .update(orderno=F('orderno')+1) board.groupno = originboard.groupno board.orderno = originboard.orderno board.depth = originboard.depth + 1 else: insert_groupno = Board.objects.aggregate(groupno=Max('groupno'))['groupno'] + 1 print(insert_groupno,type(insert_groupno)) board.groupno = insert_groupno board.save() return HttpResponseRedirect('/board/list')
def write(request): user = User.objects.get(id=request.session['authuser']['id']) board = Board() board.user = user board.title = request.POST['title'] board.content = request.POST['content'] if int(request.POST['replyno']) != 0: # 답글인 경우 originboard = Board.objects.get(id=request.POST['replyno']) Board.objects \ .filter(groupno=originboard.groupno) \ .filter(orderno__gte=originboard.orderno) \ .update(orderno=F('orderno') + 1) board.groupno = originboard.groupno board.orderno = originboard.orderno board.depth = originboard.depth + 1 else: insert_groupno = 1 if Board.objects.aggregate(groupno=Max( 'groupno'))['groupno'] is None else Board.objects.aggregate( groupno=Max('groupno'))['groupno'] + 1 board.groupno = insert_groupno board.save() response = HttpResponseRedirect('/board/list') cookie_name = f'view_user_{board.id}' set_cookie(response, cookie_name, '', 1) # 유효기간이 1일인 쿠키를 만든다. (게시물 카운트를 위해) return response
def write(request): authuser = request.session.get('authuser') if authuser is None: # 유저가 아닌 접근이므로. 비정상 접근이거나 세션 해제된 상태. return HttpResponseRedirect('/') title = request.POST.get('title', '') contents = request.POST.get('contents', '') user = User.objects.get(id=authuser['id']) max_gno = Board.objects.aggregate(g_no=Max('g_no'))['g_no'] if max_gno is None or max_gno == '': max_gno = 0 # 저장 처리 board = Board() board.title = title board.contents = contents board.user = user board.g_no = int(max_gno) + 1 board.save() # board = Board(title=title, contents=contents, user=user) # board.save() # ret = Board.insert(data) # if ret != 1: # return HttpResponse('오류 발생') return HttpResponseRedirect('/board/')
def write(request, page=1): # 인증 authuser = request.session.get('authUser') if authuser is None: return HttpResponseRedirect('/board/list') board = Board() board.title = request.POST['title'] board.content = request.POST['content'] board.user = User.objects.get(id=request.session['authUser']['id']) # 새글 작성 if request.POST['no'] == '-1': value = Board.objects.aggregate(max_groupno=Max('groupno')) board.groupno = value["max_groupno"] + 1 board.save() # 답글 작성 else: board2 = Board.objects.get(id=request.POST['no']) Board.objects.filter(orderno__gte=board2.orderno + 1).update(orderno=F('orderno') + 1) board.groupno = board2.groupno board.orderno = board2.orderno + 1 board.depth = board2.depth + 1 board.save() data = {'page': 1} # 검색어 kwd = request.GET.get('kwd') print(kwd, "@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@") if kwd is None: data['kwd'] = json.dumps(kwd) else: data['kwd'] = kwd return HttpResponseRedirect(f'/board/list/{page}?kwd={kwd}')
def reply(request): boardid = request.GET['id'] parent_board = Board.objects.get(id=boardid) newreply = Board() newreply.group_no = parent_board.group_no #group = Board.objects.all().filter(group_no=parent_board.group_no) if parent_board.order_no == 1: # 제일 윗 글에 답글 달 때 max_order_no = Board.objects.filter( group_no=parent_board.group_no).aggregate(Max('order_no')) newreply.order_no = max_order_no['order_no__max'] + 1 newreply.depth = 1 else: # 답글이 여러개 일 때 if parent_board.depth >= 1: # 답글에 답글이 없을 때 oth_reply = Board.objects.all().filter( order_no__gt=parent_board.order_no) oth_reply.update(order_no=F('order_no') + 1) newreply.order_no = parent_board.order_no + 1 newreply.depth = parent_board.depth + 1 newreply.userid_id = request.GET['userid'] newreply.title = request.POST['title'] newreply.content = request.POST['content'] newreply.save() pagenum = request.session['pagenum'] return HttpResponseRedirect("/board/list?page={}".format(pagenum))
def reply(request): authuser = request.session.get('authuser') if authuser is None: # 유저가 아닌 접근이므로. 비정상 접근이거나 세션 해제된 상태. return HttpResponseRedirect('/') title = request.POST.get('title', '') contents = request.POST.get('contents', '') g_no = request.POST.get('g_no', 0) o_no = request.POST.get('o_no', 0) depth = request.POST.get('depth', 0) user = User.objects.get(id=authuser['id']) # 저장 처리 board = Board() board.title = title board.contents = contents board.user = user board.g_no = int(g_no) board.o_no = int(o_no) + 1 board.depth = int(depth) + 1 board.save() # ret = Board.reply(data) # if ret != 1: # return HttpResponse('오류 발생') return HttpResponseRedirect('/board/')
def board_write(request): parents_id = request.POST['parentsNo'] board = Board() if parents_id == "": value = Board.objects.aggregate(max_groupno=Max('groupno')) max_groupno = 0 if value["max_groupno"] is None else value["max_groupno"] board.groupno = max_groupno + 1 board.orderno = 1 board.depth = 0 else: value = Board.objects.filter(id=parents_id) # orderno를 하나씩 밀어주기 Board.objects.filter(orderno__gte=value[0].orderno + 1).update(orderno=F('orderno') + 1) board.groupno = value[0].groupno board.orderno = value[0].orderno + 1 board.depth = value[0].depth + 1 board.user_id = int(request.session['authuser']['id']) board.title = request.POST['title'] board.content = request.POST['content'] board.save() return HttpResponseRedirect('/board')
def reply(request, id=0): # 로그인 체크 if check_authuser(request) is None: return HttpResponseRedirect('/user/loginform') else: if request.method == 'GET': return render(request, 'board/write.html') elif request.method == 'POST': board = Board.objects.get(id=id) # query set 예제 # groupno = 1이고 orderno >=1 의 # 게시물의 order_no를 1씩 증가 # __gt, __lt, __gte, __lte reply_board = Board() reply_board.title = request.POST['title'] reply_board.content = request.POST['content'] reply_board.user = User.objects.get(id=request.session['authuser']['id']) reply_board.groupno = board.groupno # value = Board.objects.filter(groupno=board.groupno).filter(depth=board.depth+1).aggregate(max_orderno=Max('orderno')) # max_orderno = 0 if value["max_orderno"] is None else value["max_orderno"] reply_board.orderno = board.orderno + 1 reply_board.depth = board.depth + 1 reply_board.save() # Board.objects.filter(groupno=board.groupno).filter(orderno=board.orderno).update(depth=F('depth') + 1) return HttpResponseRedirect('/board/1')
def add(request): if request.session.get('authuser') == None: return HttpResponseRedirect('/user/loginform') authuser = request.session['authuser'] paraentno = request.POST.get('parentno') if authuser is None: return HttpResponseRedirect('/board') board = Board() board.user_id = authuser['id'] board.title = request.POST.get('title') board.content = request.POST.get('contents') if paraentno != '': parent = Board.objects.get(id=paraentno) board.groupno = parent.groupno board.orderno = parent.orderno + 1 Board.objects.filter(groupno=board.groupno).filter(orderno__gte=board.orderno).update(orderno=F('orderno') + 1) board.depth = parent.depth + 1 else: lastboard = Board.objects.order_by('id').last() if lastboard == None: board.groupno = 1 else: board.groupno = lastboard.id +1 board.save() return HttpResponseRedirect('/board')
def insert(request): if 'authuser' not in request.session: return HttpResponseRedirect('/board') board = Board() board.title = request.POST['title'] board.content = request.POST['content'] board.user = User(**request.session['authuser']) # 그룹번호 1부터 시작 groupno = int(request.POST['groupno']) if groupno == 0: value = Board.objects.aggregate(max_groupno=Max('groupno')) groupno = 1 if value[ 'max_groupno'] is None else value['max_groupno'] + 1 board.groupno = groupno orderno = 0 if request.POST['groupno'] == '0' else int( request.POST['orderno']) Board.objects.filter(groupno=groupno).filter( orderno__gte=orderno + 1).update(orderno=F('orderno') + 1) board.orderno = orderno + 1 board.depth = 0 if request.POST['groupno'] == '0' else int( request.POST['depth']) + 1 board.save() page = request.POST['page'] kwd = request.POST['kwd'] return HttpResponseRedirect(f'/board/list?page={page}&kwd={kwd}')
def write(request): # user = models.ForeignKey(User, to_field='id', on_delete=models.CASCADE) board = Board() board.title = request.POST['title'] board.content = request.POST['content'] userid = request.session['authUser']['id'] user = User.objects.get(id=userid) board.user = user if request.POST['groupno'] != '': print('request.POST[groupno] !=') board.groupno = request.POST['groupno'] board.depth = int(request.POST['depth']) + 1 board.orderno = int(request.POST['orderno']) + 1 else: max_board = Board.objects.aggregate(max_groupno=Max('groupno')) if max_board is not None: max_groupno = 0 if max_board['max_groupno'] is None else max_board[ "max_groupno"] board.groupno = max_groupno + 1 else: board.groupno = 1 board.save() return HttpResponseRedirect('/board')
def add(request): board = Board() user = User.objects.get(id=request.session['authuser']['id']) board.title = request.POST['title'] board.content = request.POST['content'] board.user_id = user # 만약 추가하는것이 첫 글쓰기일때 if request.POST['add'] == 'write': g_no = Board.objects.aggregate(g_no=Max('g_no')) if g_no['g_no'] is None: g_no['g_no'] = 0 board.g_no = g_no['g_no'] + 1 board.o_no = 0 board.depth = 0 else: id = request.POST['id'] p_board = Board.objects.get(id=id) board.g_no = p_board.g_no results = Board.objects.filter(o_no__gt=p_board.o_no, g_no=p_board.g_no) results.update(o_no=F('o_no') + 1) board.o_no = p_board.o_no + 1 board.depth = p_board.depth + 1 board.save() return HttpResponseRedirect('/board' + "?page=" + str(request.session['session_page']))
def board_write(request): if not request.session.get('user'): return redirect('/scum/login/') if request.method == 'POST': form = BoardForm(request.POST) if form.is_valid(): user_id = request.session.get('user') scumuser = scumUser.objects.get(pk=user_id) tags = form.cleaned_data['tags'].split(',') board = Board() board.title = form.cleaned_data['title'] board.contents = form.cleaned_data['contents'] board.writer = scumuser board.save() for tag in tags: if not tag: continue _tag, _= Tag.objects.get_or_create(name=tag) board.tags.add(_tag) return redirect('/board/list/') else: form = BoardForm return render(request, 'board_write.html', {'form': form})
def write(request): board = Board() board.name = request.session['authuser']['name'] board.title = request.POST['title'] board.content = request.POST['content'] board.save() return HttpResponseRedirect("/board")
def write(request): board = Board() board.title = request.POST['title'] board.content = request.POST['content'] board.user = User.objects.get(id=request.session['authuser']['id']) board.groupno = counter_max() board.save() return HttpResponseRedirect('/board')
def add(request): board = Board() board.title = request.POST['title'] board.content = request.POST['content'] board.user_id = request.POST['user_id'] board.save() return HttpResponseRedirect('/board')
def add(request): board = Board() board.title = request.POST['title'] board.content = request.POST['content'] board.user_id = request.session['authuser']['id'] board.name = request.session['authuser']['name'] board.save() return HttpResponseRedirect('/board')
def create(request): board = Board() board.title = 'test' board.contents = 'test' board.user_id = 1 board.save() return HttpResponse('ok')
def write_post(request): pages = int(request.POST.get('pages', 1)) # 현재 페이지 kwd = str(request.GET.get('kwd', '')) # 검색어 # 공통 파라미터 -------------------------------------------------------------- # 로그인 확인 authuser = request.session['authuser'] if authuser is None: return HttpResponseRedirect('/board') board = Board() board.user_id = authuser['id'] board.title = request.POST['title'] board.content = request.POST['content'] # 스크립트를 무시하고 잘못된 정보를 줬을 때 if board.title == '': return HttpResponseRedirect('/board') if board.content == '': return HttpResponseRedirect('/board') # 부모id가 있으면 답글 parentno = int(request.POST.get('parentno', -1)) if parentno == -1: # groupno : 답글이 아니면 (Max+1) value = Board.objects.aggregate(max_groupno=Max('groupno')) max_groupno = 0 if value['max_groupno'] is None else value[ 'max_groupno'] board.groupno = max_groupno + 1 # orderno : 답글이 아니면 항상 1 board.orderno = 1 # depth : 답글이 아니면 항상 0 board.depth = 0 else: # 답글이면 일단 부모 객체를 가져온다 parents = Board.objects.get(id=parentno) # groupno : 답글이면 부모것과 같게 board.groupno = parents.groupno # orderno : 답글이면 (부모것+1) 보다 크거나 같은거 모두 (+1)해서 밀고 (부모것+1) board.orderno = parents.orderno + 1 Board.objects.filter(groupno=board.groupno).filter( orderno__gte=board.orderno).update(orderno=F('orderno') + 1) # depth : 답글이면 (부모것+1) board.depth = parents.depth + 1 # parentno : 답글이면 부모번호 board.parentno = parentno board.save() return HttpResponseRedirect('/board')
def write(request): newboard = Board() newboard.userid_id = request.GET['userid'] newboard.title = request.POST['title'] newboard.content = request.POST['content'] newboard.save() pagenum = request.session['pagenum'] return HttpResponseRedirect("/board/list?page={}".format(pagenum))
def writetest(request): for idx in range(999): board = Board() board.title = '테스트 제목' + str(idx) board.content = '테스트 내용' + str(idx) board.user = User.objects.get(id=1) board.save() return HttpResponseRedirect('/')
def modify(request): board = Board() board.id = request.POST['id'] board.title = request.POST['title'] board.content = request.POST['content'] #board.user = (User.objects.filter(id=request.session.get('authuser')['id']).filter( password=request.session.get('authuser')['password'])) board.save() return render(request, 'board/view?id =' + request.POST['id'])
def write(request): # authuser = request.session['authuser'] # # if authuser is None: # return HttpResponseRedirect('/board') board_id = request.POST['id'] if board_id == '0': # 그냥 글쓰기이면 board = Board() board.title = request.POST['title'] board.content = request.POST['content'] value = Board.objects.aggregate( max_groupno=Max('groupno'))['max_groupno'] or 0 if board.groupno == 0: board.groupno = value + 1 user = User.objects.get(id=request.session['authuser']['id']) board.user = user board.save() else: # 답글이면 # 해당 board_id에 해당하는 객체 가져오기 board_parent = Board.objects.get(id=board_id) board = Board() board.title = request.POST['title'] board.content = request.POST['content'] board.groupno = board_parent.groupno board.orderno = board_parent.orderno + 1 Board.objects.filter(groupno=board.groupno).filter( orderno__gte=board.orderno).update(orderno=F('orderno') + 1) board.depth = board_parent.depth + 1 board.user_id = request.session['authuser']['id'] board.save() return HttpResponseRedirect('/board')
def insert(request): board = Board() id = request.POST['user_id'] result = User.objects.filter(id=id) board.user = result[0] board.title = request.POST['title'] board.content = request.POST['content'] board.save() return HttpResponseRedirect('/board/')
def write(request): board = Board() board.title = request.POST['title'] board.content = request.POST['content'] groupno_value = Board.objects.aggregate(max_groupno=Max('groupno')) board.groupno = 0 if groupno_value["max_groupno"] is None else ( groupno_value["max_groupno"] + 1) board.user = User.objects.get(id=request.session['authuser']['id']) board.save() return HttpResponseRedirect('/board/1')
def write(request): print(request.POST) user_id = request.POST.get('user_id') board = Board() board.title = request.POST['title'] board.message = request.POST['content'] board.user = User.objects.get(id=user_id) board.save() return HttpResponseRedirect('/board')
def write(request): try: board = Board() board.title = request.POST['title'] board.content = request.POST['content'] # 아래부분은 수정해야 할 사항으로############################################################################### # 현재는 이메일과 패스워드로 비교하여 쿼리셋의 첫번째 user를 선택하도록 정하고 테스트 하였지만. # 실제로는 email을 primary 키로, 혹은 같은 이메일은 등록이 불가하도록 정의하는 로직이 필요하며, # 이는 user 객체의 VO 를 재정의 하던지, 유저 등록 시 action 을 재정의 하던지 하여 해결하도록 할 것! board.user = (User.objects.filter(email=request.session.get('authuser')['email']).filter( password=request.session.get('authuser')['password']))[0] ################################################################################################################ board.save() return HttpResponseRedirect('/board') except DataError: return render(request, 'board/write.html', {'posts': board, 'data_error':True })