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 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_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 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 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 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 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): # 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 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 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 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): 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 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() user_id = request.POST.get('user_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']))[0] board.save() return HttpResponseRedirect('/board')
def write(request): 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': value = Board.objects.aggregate(max_groupno=Max('groupno')) max_groupno = 0 if value["max_groupno"] is None else value["max_groupno"] board = Board() board.title = request.POST['title'] board.content = request.POST['content'] board.user = User.objects.get(id=request.session['authuser']['id']) board.groupno = max_groupno+1 board.save() return HttpResponseRedirect('/board/1')
def write(request): #print(request.POST) #<QueryDict: {'csrfmiddlewaretoken': ['oaus3dlQyB6CvnTJuL4jMN1O13EfaCccMF9liEmiTqf3VXpxwmqJkD2gYhKXmqj3'], 'a': ['1'], 'title': ['1'], 'content': ['1']}> #board.user.id = request.session['authuser'][id] #print(request.POST['a']) board = Board() #board.user = User.objects.get(id=(request.POST.get('a'))[0]) board.user = User.objects.get(id=request.POST['a']) board.title = request.POST['title'] board.content = request.POST['content'] 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 })
def reply(request, id=0, groupno=0, orderno=0): groupno_value = Board.objects.get(id=id) if groupno_value.orderno == 0: Board.objects.filter(groupno=groupno).filter(orderno__gte=1).update( orderno=F('orderno') + 1) board = Board() board.title = request.POST['title'] board.content = request.POST['content'] board.groupno = groupno_value.groupno board.orderno = 1 if groupno_value.orderno is 0 else groupno_value.orderno + 1 if board.orderno >= groupno_value.orderno: Board.objects.filter(groupno=groupno).filter( orderno__gte=board.orderno).update(orderno=F('orderno') + 1) board.depth = 1 if groupno_value.depth is 0 else groupno_value.depth + 1 board.user = User.objects.get(id=request.session['authuser']['id']) board.save() return HttpResponseRedirect('/board/1')
def write(request): if request.session.get('authuser') is not None: post = Board() post.title = request.POST['title'] post.contents = request.POST['contents'] post.order_no = 1 post.user = User.objects.get(id=request.session['authuser']['id']) calc = Board.objects.aggregate(max_group_no=Max('group_no')) # print(calc) try: post.group_no = calc['max_group_no'] + 1 except: post.group_no = 1 post.save() return HttpResponseRedirect('/board/list') return HttpResponseRedirect('/board/writeform?result=fail')
def reply(request, id=0): # __gt, __lt, __gte, __lte /// groupno = 1 이고 orderno >= 2 의 게시물의 orderno를 1씩 증가 user_id = request.session.get('authuser', '') if user_id == '': return HttpResponseRedirect('/user/loginform?result=require') board = Board.objects.get(id=id) # orderno update 후 insert Board.objects.filter(groupno=board.groupno).filter( orderno__gte=board.orderno + 1).update(orderno=F('orderno') + 1) reply = Board() reply.title = request.POST['title'] reply.content = request.POST['content'] reply.user = User.objects.get(id=request.session['authuser']['id']) reply.groupno = board.groupno reply.orderno = board.orderno + 1 reply.depth = board.depth + 1 reply.save() return HttpResponseRedirect(f'/board/')
def board_write(request, id=-1): # 파라미터 추출 ----------------------- try: kwd = request.POST['kwd'] except Exception: kwd = '' try: page = int(request.POST['page']) except Exception: page = 1 # -------------------------------------- # 게시판 글 공통 정보 추출 board = Board() board.title = request.POST['title'] board.content = request.POST['content'] board.user = User.objects.get(id=request.session['authuser']['id']) # 게시판 답글 등록 if id != -1: row = Board.objects.get(id=id) board.groupno = row.groupno board.orderno = row.orderno + 1 board.depth = row.depth + 1 # 해당 일반글에 대한 하위 답글의 orderno 칼럼 전부 +1씩 업데이트 Board.objects.filter(groupno=row.groupno).filter( orderno__gte=board.orderno).update(orderno=F('orderno') + 1) board.save() return HttpResponseRedirect('/board?page=' + str(page) + '&kwd=' + kwd) # 게시판 일반글 등록 max_groupno = Board.objects.aggregate(max_groupno=Max('groupno')) board.groupno = 0 if max_groupno[ 'max_groupno'] is None else max_groupno['max_groupno'] + 1 board.save() return HttpResponseRedirect('/board?page=' + str(page) + '&kwd=' + kwd)
def write(request): if request.method == 'POST': title = request.POST['title'] content = request.POST['content'] if title == '' or content == '': data = { 'result': 'fail', 'message': '제목과 내용을 입력해 주세요', 'title': title, 'content': content, } return render(request, 'board/write.html', data) board = Board() board.title = title board.content = content max_groupno = Board.objects.aggregate(max_groupno=Max('groupno')) board.groupno = 0 if max_groupno[ "max_groupno"] is None else max_groupno["max_groupno"] + 1 try: board.user = User.objects.get(id=request.session['authuser']['id']) board.save() return HttpResponseRedirect( f'/board?search={request.GET.get("search", "")}&page={request.GET.get("page", "")}' ) except Exception as e: print(e) data = { 'result': 'fail', 'message': '권한이 없습니다', 'url': f'/board?search={request.GET.get("search", "")}&page={request.GET.get("page", "")}' } return render(request, 'main/redirect.html', data) else: return render(request, 'board/write.html')
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 createboard(request, username): #import pdb; pdb.set_trace() last_board = request.POST.get('last_board') user = request.user csrf_token = (csrf(request)['csrf_token']) board = Board() board.user = user title = request.POST['title'] board.title = title content = request.POST['content'] content = content.strip() if len(content): board.content = content[:255] board.save() html = _html_feeds(last_board, user, csrf_token) return HttpResponse(html)
def write(request): # 로그인 체크 if logincheck(request) is False: return render(request, 'board/list.html') board = Board() board.title = request.POST['title'] board.content = request.POST['content'] value = Board.objects.aggregate(max_groupno=Max('groupno')) board.groupno = 1 if value['max_groupno'] is None else value['max_groupno']+1 board.orderno = 1 board.depth = 0 board.user = Users(request.session['authuser']['id']) board.save() id = Board.objects.aggregate(max_id=Max('id')) return HttpResponseRedirect('/board/view/'+str(id['max_id']))
def reply(request): parent_no = request.POST['parent'] if request.session.get('authuser') is not None: parent = Board.objects.filter(id=parent_no)[0] post = Board() post.title = request.POST['title'] post.contents = request.POST['contents'] post.user = User.objects.get(id=request.session['authuser']['id']) Board.objects.filter(order_no__gte=parent.order_no + 1).update(order_no=F('order_no') + 1) post.group_no = parent.group_no post.order_no = parent.order_no + 1 post.depth = parent.depth + 1 post.save() return HttpResponseRedirect('/board/list') return HttpResponseRedirect(f'/board/replyform/{parent_no}?result=fail')
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 })
def writereply(request, id): if "authuser" not in request.session: return render(request, "user/loginform.html") try: parent_board = Board.objects.get(id=id) board = Board() board.groupno = parent_board.groupno board.orderno = parent_board.orderno + 1 board.depth = parent_board.depth + 1 board.title = request.POST["title"] board.content = request.POST["content"] board.user = User.objects.get(id=request.session["authuser"]["id"]) board.save() Board.objects.filter(groupno=board.groupno).filter( orderno__gte=board.orderno).update(orderno=F('orderno') + 1) global totalCount, listnumber totalCount += 1 listnumber = getListNumber(totalCount) except ObjectDoesNotExist: pass return HttpResponseRedirect(f'/board/view/{board.pk}')
def write_insert(request): # 키워드, 페이지 히스토리 전달 kwd = request.GET.get('kwd', '') cur_paging_num = request.GET.get('cur_paging_num', '') board = Board() board.title = request.POST['title'] board.contents = request.POST['content'] user = User() user.id = request.session['authuser']['id'] board.user = user value = Board.objects.aggregate(max_groupno=Max('group_no')) max_groupno = 0 if value["max_groupno"] is None else value["max_groupno"] board.group_no = max_groupno board.save() return HttpResponseRedirect('/board?kwd=' + kwd + '&cur_paging_num=' + cur_paging_num)
def write(request): if "authuser" not in request.session: return render(request, "user/loginform.html") board = Board() board.title = request.POST["title"] board.content = request.POST['content'] board.depth = 0 board.orderno = 1 try: value = Board.objects.aggregate(max_groupno=Max('groupno')) board.groupno = 1 if value[ "max_groupno"] is None else value["max_groupno"] + 1 board.user = User.objects.get(id=request.session["authuser"]["id"]) board.save() global totalCount, listnumber totalCount += 1 listnumber = getListNumber(totalCount) except ObjectDoesNotExist: return HttpResponseRedirect('/board') return HttpResponseRedirect(f'/board/view/{board.pk}')