목록Skill (40)
여름의 서재
📄 유저 시나리오 - Update (회원정보수정) 1. 회원정보 수정 버튼을 누른다. 2. 기존의 데이터와 함께 회원정보 수정 폼이 담긴 update 페이지가 나온다. 3. 정보를 수정하고 체줄 버튼을 누른다. 4. 정상적으로 수정이 완료되면 메인 페이지로 이동한다. - delete (회원탈퇴) 1. 회원 탈퇴 버튼을 누른다. 2. 로그아웃 된채로 메인페이지로 이동한다. 🔨 기능 구현하기 1) urls : accounts앱에 update, delete라는 이름의 주소 생성 from django.urls import path from . import views app_name = 'accounts' urlpatterns = [ path('login/', views.login, name='login'), p..
📄 유저 시나리오 - 로그인 1. 로그인 버튼을 누른다. 2. 로그인 폼이 담긴 페이지가 나온다. 3. 로그인 폼을 작성하여 제출 버튼을 누른다. 4. 로그인이 정상적으로 완료되면 메인페이지가 나온다. - 로그아웃 1. 로그아웃 버튼을 누른다. 2. 로그아웃이 되고 메인페이지가 나온다. 🔨 기능 구현하기 1) urls : accounts 앱에 login, logout이라는 이름의 주소 생성 from django.urls import path from . import views app_name = 'accounts' urlpatterns = [ path('login/', views.login, name='login'), path('logout/', views.logout, name='logout'), pa..
📄 유저 시나리오 1. 회원가입 버튼을 누른다. 2. 회원가입 폼이 담긴 페이지가 나온다. 3. 회원가입 폼을 작성하여 제출 버튼을 누른다. 4. 회원가입이 정상적으로 완료되면 바로 로그인이 되고 메인페이지가 나온다. 🔨 기능 구현하기 1) urls : accounts 앱에 signup이라는 이름의 주소 생성 from django.urls import path from . import views app_name = 'accounts' urlpatterns = [ path('signup/', views.signup, name='signup'), ] 2) views GET: 회원가입 폼이 담긴 페이지를 응답 POST: 회원가입 정보를 받아서 "유효성 검사" 후 회원가입 진행 유효성 검사를 통과하지 못한 경우..
- static 이란? : js, css, image, font 등과 같이 개발자가 사전에 미리 서버에 저장 해둔 파일 -> 정적 파일 - static 파일 사용하기 1) settings 설정하기 STATIC_URL = '/static/' : STATIC_ROOT에 있는 정적 파일을 참조할 때 사용할 URL (이미 설정되어 있음) STATICFILES_DIRS = [ BASE_DIR / 'static', ] : 프로젝트 전반적으로 사용되는 static 경로가 어딘지 설정 2) templates에서 static 파일 사용하기 ex) index.html {% extends 'base.html' %} {% load static %} {% block content %} ... {% endblock %} ① {%..
- 알림 문구 넣기 : INFO, SUCCESS, WARNING, ERROR from django.contrib import messages # 원래 방법 messages.add_message(request, messages.INFO, '보여줄 문구') # 축약된 방법 messages.info(request, '보여줄 문구') ex) 데이터의 유효성 검사가 통과되고 DB에 저장됬을때 성공 알림 문구 : messages.add_message(request, messages.SUCCESS, '보여줄 문구') from django.contrib import messages def create(request): if request.method == 'POST': form = ArticleForm(request...
- 예전의 방식 새로운 글을 작성하는 함수 : new, create def new(request): return render(request, 'movies/new.html') def create(request): movie = Movie() movie.title = request.POST.get('title') movie.overview = request.POST.get('overview') movie.poster_path = request.POST.get('poster_path') movie.save() return redirect("movies:detail", movie.pk) 기존의 글을 수정하는 함수: edit, update def edit(request, pk): movie = Movie.obj..
- form : Django 프로젝트의 주요 유효성 검사 도구들 중 하나이며, 공격 및 우연한 데이터 손상에 대한 중요한 방어수단 1) Form 선언하기 # articles/forms.py from django import forms class ArticleForm(forms.Form): title = forms.CharField(max_length=10) content = forms.CharFeild() : forms 라이브러리에 있는 Form 클래스를 상속받음. 2) views에서 form을 사용하는 모습 # articles/views.py from .forms import ArticleForm def new(request): form = ArticleForm() context = { 'form': ..
- Admin Site : 사용자가 아닌 서버의 관리자가 활용하기 위한 페이지 (유일하게 장고에만 있음) : record 생성 여부 확인에 매우 유용하고 CRUD 로직을 확인하기에 편리하다. 1. 관리자 생성하기 python manage.py createsuperuser 2. admin 사이트에 models.py에서 만든 테이블 등록하기 # articles/admin.py from django.contrib import admin from .models import Article admin.site.register(Article) 3. list_display: models.py에서 정의한 각각의 속성과 값을 admin 사이트에 출력할지 안 할지 설정할 수 있음 # articles/admin.py from..