결론적으로 이야기하지만 QuerySet의 데이터들은 바로 쿠키에 저장할 수 없습니다. 쿠키는 일반적으로 간단한 숫자나 문자만 저장할 수 있습니다. 따라서 QuerySet을 쿠키에 저장하기 위해선 문자열로 변환 후 쿠키에 저장해야합니다. 아래의 코드는 프로젝트 중 QuerySet을 쿠키에 저장하기 위해서 사용한 방법입니다. 주석 처리 된 부분만 유심히 보면 됩니다. import json class Main(TemplateView): template_name = 'content/main.html' def get(self, request): return render(request, 'content/main.html') def post(self, request): if request.method == 'POST..
Django
render render(request, template_name, context=None, content_type=None, status=None, using=None) render은 위와 같이 사용할 수있습니다. request와 template_name은 필수적으로 입력해줘야 하는 요소입니다. request는 변경해주지 않고 그대로 사용하면 되고 template_name는 불러오고 싶은 템플릿을 기재해 줍니다. 이때 넘겨주고 싶은 데이터를 딕셔너리 형태로 context로 넘겨줄 수 있습니다. redirect redirect(to, permanent=False, *args, **kwargs) redirect는 위와 같이 사용할 수 있습니다. to는 render의 template_name와 비슷한 부분인..
django를 통해 프로젝트를 진행하던 중 ajax를 통해서 views.py로 데이터를 보내는 과정에서 Forbidden (CSRF token missing or incorrect.)과 같은 에러가 발생하고 아래와 같은 방법으로 해결하였다 1. 특정 view에 csrf 적용 from django.views.decorators.csrf import csrf_exempt @csrf_exempt def Main(request): return HttpResponse('success') 이 방법은 별로 좋은 방법이 아니다. 2. Html 파일 수정 html의 header 부분에 위 코드를 넣어주면 된다.

DB에 저장되어 있는 정보를 Views.py에서 templateview를 이용하여 html에 출력해 주는 기능이다. Views.py 구조 class Main(TemplateView): template_name = 'content/main.html' queryset = FoodList.objects.all()# quertset에 FoodList의 모든 객체를 넣어준다 def get(self, request, *args, **kwargs): print(request.GET) ctx = { 'FoodLists': self.queryset# ctx에 FoodLists안에 FoodList의 내용을 넣어준다 } return self.render_to_response(ctx)# ctx를 반환 HTML 구조 {% fo..
장고 프로젝트를 다시 시작하며.. 장고에 대해서 많은 공부를 했다고 생각했고 스스로 하나의 웹 사이트를 만들 수 있을 것 같다고 생각하여 첫 프로젝트로 웹 포트폴리오 만들기를 진행하였는데 소셜로그인 기능을 구현하는 단계에서 막히면서 여러 검색을 해보니 처음 시작부터 잘못되었다는 것을 알게 되었다. 독학으로 하는 공부이다 보니 처음 방향을 잡는데도 오래 걸리고 그 방향이 잘못되었다는 것을 알아차리는데도 조금 오랜 시간이 지나서 알아차리게 되었지만 프로젝트를 진행하면서 배운 내용이 아예 쓸모없는 내용이 아니라 다시 공부하면서 조금 더 쉽게 이해하였던 것 같다. 기존에 공부를하면서 정리를 하였고 처음부터 시작하면서 기록한 내용들은 지우는 게 좋을까 라는 생각도 하였지만 기존에 공부한 내용을 바탕으로 조금 더 ..