반응형 Django14 django로 diary 만들기 [mydiary(글쓰기) 세션 구현] -2 이번 시간에는 views.py를 사용해보겠습니다. from django.shortcuts import render ,get_object_or_404 from django.views.decorators.csrf import csrf_exempt from .models import Post from accounts.models import User from django.db import IntegrityError import getpass # Create your views here. def home(request): return render(request,'home.html') def write_diary(request): return render(request, 'write_diary.html') @cs.. 2020. 8. 7. django로 diary 만들기 [mydiary(글쓰기) 세션 구현] -1 이번에는 일기를 쓸 수 있도록 기능을 구현해보겠습니다. accounts앱을 만들었던 것처럼 똑같이 py manage.py startapp mydiary 이 것을 메인 프로젝트로 shell을 옮긴뒤 생성해줍니다. urls.py도 선언해줍니다. 전 시간에 해봤죠? 글쓰기위해서 models.py에서 모델링을 해줘야합니다. from django.db import models from django.contrib.auth.models import User from datetime import datetime from django.utils import timezone class Post(models.Model): username = models.ForeignKey(User, on_delete=models.CASCA.. 2020. 8. 7. django로 diary 만들기 [accounts(회원) 세션 구현] -3 이번시간에는 디자인?을 다루어볼려고합니다. 제가 디자인은 잘못해서 bootstrap을 통해서 구현하려고합니다. 일단 회원가입 폼을 볼까요? {% extends 'menu_bar.html' %} {% block contents %} {%csrf_token%} Create your account ID: PASSWORD: confirm PASSWORD: {% endblock %} 이렇게 구현했습니다. form의 method는 POST방식으로 가져왔습니다. 그리고 저번시간에 적용했던 회원가입 함수 signup을 연동해주었습니다. 여기서 제일 중요한 keypoint는 바로 {%csrf_token%}입니다. 사용자가 주어진값을 난수로 변환한 뒤에 값을 넘겨줍니다. 이렇게 하지않으면 보안에 위험이 있어 적용했습니다... 2020. 8. 7. django로 diary 만들기 [accounts(회원) 세션 구현] -2 저번시간에 이어서 만들어보겠습니다. 이제 urls.py와 받을 폼을 만들었으니 views.py를 구현해야겠죠? django 내부 유저모델을 사용한다고 했으니 사용해보겠습니다. accounts/views.py에서 from django.shortcuts import render, redirect from django.contrib.auth.models import User from django.contrib import auth def signup(request): if request.method == 'POST': if User.objects.filter(username=request.POST['username']).exists(): #아이디 중복 체크 return render(request, 'signu.. 2020. 8. 7. django로 diary 만들기 [accounts(회원) 세션 구현] -1 여자친구랑 다이어리를 써보고싶어서 직접 만들려고합니다. 대략 두달 정도 시간을 들여 만들 프로젝트는 바로 다이어리서비스입니다. 가상 환경부터 실행해야겠죠? 안에 프로젝트에 들어가봅시다. django-admin startproject project(자신이 만들 프로젝트이름) shell창에 입력하면 프로젝트가 생성됩니다. 저는 project라고 지었습니다. 프로젝트 안에서 앱을 만들어봅시다. py manage.py startapp accounts(자신이만들앱이름) 로그인 기능을 구현하기위해 accounts라고 지었습니다. 앱을 만들었으니 메인프로젝트안에 settings.py안에 선언해 주어야겠죠? INSTALLED_APPS = [ 'mydiary.apps.MydiaryConfig', 'accounts.app.. 2020. 8. 7. 이전 1 2 다음 반응형