분류 전체보기77 [Django 에러] The view mediapractice.views.create didn't return an HttpResponse object. It returned None instead. 오류 내용: The view mediapractice.views.create didn't return an HttpResponse object. It returned None instead. view.create가 HttpResponse 객체를 반환하지 않음. 아무것도 리턴하지 않았다. 어쩌다: forms를 이용해서 이미지 올리는 기능을 만들려다 생긴 오류... 오타 없는지, 함수, 모델, 모델폼, html 다 꼼꼼히 봤는데 못 찾고, 깃허브에서 전에 내가 썼던 코드를 봤다. 원인: 폼 태그 안에 enctype="multipart/form-data"를 써주지 않아서 생긴 오류였다... 를 라고 고쳐주니 잘 돌아갔다. 2020. 7. 18. [Django 에러] CSRF verification failed. Request aborted. CSRF 검증 실패. 요청이 중단됨. create.html의 폼 태그 안에 {%csrf_token%}을 넣어주지 않아서 생긴 문제인듯 하다. *참고 -CSRF 공격이란? Cross Site Request Forgery. 웹 어플리케이션의 취약점 중 하나이다. 인터넷 사용자(희생자)가 자신의 의도와는 무관하게 공격자가 의도한 행위(수정, 삭제, 등록 등)를 웹 사이트에 요청하게하는 공격이다. -{%csrf_token%} CSRF 공격을 막는 코드이다. 클라이언트에서 해당 페이지를 접속하면, Django에서 csrf token을 보내어 cookie에 저장하고, POST로 전송할 때 csrf token이 함께 전송되어 인증하는 방식이다. token이 정보를 가지고 있음. {%csrf_token%}은 그냥 보안.. 2020. 7. 18. [Django note] #3 내가 보려고 만드는 장고 노트 - update 함수, 수정 기능 (전 내용이 보이게 하기) 멋사 장고 강의를 듣고 update 함수를 정의하면서, '왜 수정이라면서 그냥 새 글쓰는거랑 똑같은 빈 창이 나올까..'라는 생각을 했는데, 정말 감사하게도 운영진님이 내 생각을 알아채시고 먼저 알려주셨다.....😭😭👍👍 감사합니다감사합니다감사합니다... 내 코드(수정 페이지를 보면 입력공간에 아무 것도 없이 나옴) def update2(request, pk): portfolio = get_object_or_404(Portfolio, pk=pk) modify = NewPort(request.POST, request.FILES, instance=portfolio) if modify.is_valid(): modify.save() return redirect('portfolio') return render(r.. 2020. 7. 17. [ONF] 퓨즈 1기 모집 우와 드디어.. 절대 한다 정말루 2020. 7. 17. [Django 에러] NOT NULL constraint failed: blogapp_blog.pub_date 원인: views.py에서 newblog(새로운 글을쓰는 함수)를 잘 못 정의함. 에러 난 코드 #views.py 에러 난 코드 def newblog(request): if request.method=='POST': blog=BlogPost(request.POST) if blog.is_valid(): blog.save(commit=False) #틀린 부분 blog.pub_date=timezone.now() blog.save() return redirect('home') else: blog=BlogPost() return render(request, 'new.html', {'blog':blog} 수정한 코드 #views.py 수정한 코드 def newblog(request): if request.metho.. 2020. 7. 17. [Django note] #2 내가 보려고 만드는 장고 노트 (템플릿 상속, url 계층적 관리) 템플릿 상속 1. 프로젝트 폴더 안에 templates폴더를 만들고 그 안에 base.html 만들기 중복되는 내용도 채워넣기 2. settings.py에 base.html의 위치를 알려주기 TEMPLATES = [ { 'BACKEND': 'django.template.backends.django.DjangoTemplates', 'DIRS': ['프로젝트 이름/templates'], 'APP_DIRS': True, ... 3. base.html에 내용이 들어갈 부분을 알려주기 {%block contents%} {%endblock%} #block contents에서 'contents'는 바꿔쓸 수 있다. (title, sidebar 등등..) 4. 내용에 해당하는 html로 가서 {%extends 'bas.. 2020. 7. 16. 이전 1 ··· 9 10 11 12 13 다음