장고:view 각종 기능

학교의 모든 지식. SMwiki
192.168.219.100 (토론)님의 2021년 5월 25일 (화) 23:21 판
(차이) ← 이전 판 | 최신판 (차이) | 다음 판 → (차이)
둘러보기로 이동 검색으로 이동

장고! 웹 프레임워크! 틀:장고

  1. 장고:개요
  2. 장고:웹페이지설계
    1. 장고:앱
    2. 장고:url
    3. 장고:model
      1. 장고:DB
      2. 장고:모델 필드
      3. 장고:모델의 변경
    4. 장고:view
      1. 장고:클래스형 뷰, 제네릭 뷰
      2. 장고:view 각종 기능
    5. 장고:template
    6. 장고:static. 정적파일 사용하기
      1. 장고:CSS 사용하기
      2. 장고:JS 사용하기
      3. 장고:글꼴 사용
      4. 장고:부트스트랩
    7. 장고:media. 미디어 파일 사용하기
  3. 장고:관리자페이지
  4. 장고:settings.py
  5. 장고:기능구현
    1. 장고:회원관리
    2. 장고:유저
    3. 장고:커스텀 유저
    4. 장고:소셜로그인
    5. 장고:입력받기
    6. 장고:저장된 내용 활용하기
    7. 장고:변수 내보내기
    8. 장고:글쓰기
    9. 장고:페이징(페이지나누기)
    10. 장고:답변쓰기(댓글쓰기)
    11. 장고:추천,즐겨찾기
    12. 장고:새글(최신글) 나타내기
    13. 장고:썸머노트 설치
    14. 장고:네비게이션 바 만들기
    15. 장고:검색기능
    16. 장고:카테고리 만들기
    17. 장고:사진 올리기
    18. 장고:파일 업로드
    19. 장고:이메일app 만들기
    20. 장고:매직 그리드
  6. 장고:웹서비스
    1. 장고:Git
    2. 장고:리눅스에 올리기
    3. 장고:우분투에 올리기(nginx 사용)
    4. 장고:도커로 올리기
  7. 장고:팁


권한관리

로그인

로그인이 있어야 필요한 기능은 다음과 같은 형태로 구현.(함수 앞에 둔다.)

from django.contrib.auth.decorators import login_required #로그인이 있어야 가능함

@login_required(login_url='로그인링크가 어디인지 지정')
def question_create(request):
    if request.method == 'POST':#포스트로 요청이 들어온다면... 글을 올리는 기능.
        form = QuestionForm(request.POST) #폼을 불러와 내용입력을 받는다.
from django.shortcuts import render
from .models import 모델명#모델을 임포트 한다.

#모델.objects는 객체목록을 받는다는 의미이다.
def index(request):
    객체 = self.request.user.id #현재 로그인한 사용자의 아이디를 얻을 수 있다.

클래스형 뷰라면?

함수형 뷰라면 위처럼 데코레이터를 두면 되지만, 클래스형 뷰라면 앞에 상속을 한 번 더 해준다.

from django.contrib.auth.mixins import LoginRequiredMixin

class 클래스형뷰(LoginRequiredMixin, 상속할 )

기타 기능

url 주소 불러오기

url 주소를 불러오는 기능을 넣을 때 하드코딩 해두면 나중에 수정이 일어날 때 또 일일이 바꿔야 하는 경우가 생긴다.

그럴 땐 reverse('앱이름:인덱스', args=('넘길변수',)) 형태로 해당하는 url을 추출할 수 있다.

탬플릿에 보낼 땐 render로 처리하기 때문에 잘 쓰진 않는 기능이다.