본문 바로가기

Back-end/Django18

[Django] User 확장과 인증 (실습2) 회원가입하기 1. account app의 views.py에 register_view생성 from django.shortcuts import redirect, render from django.contrib.auth.forms import AuthenticationForm, UserCreationForm from django.contrib.auth import authenticate,login,logout def login_view(request): if request.method == 'POST': form = AuthenticationForm(request=request, data = request.POST) if form.is_valid(): #유효성 검사 username = form.cleaned_.. 2021. 7. 20.
[Django] User확장과 인증(실습1) 1. account이름의 app만들기 #manage.py가 있는 곳으로 이동 python manage.py startapp account 2. settings.py에 account 추가 3. 새로만들어진 account 폴더의 views.py 수정 from django.shortcuts import render from django.contrib.auth.forms import AuthenticationForm, UserCreationForm def login_view(request): form = AuthenticationForm() return render(request, 'login.html',{'form' : form}) 4. account폴더에 urls.py 생성 from django.urls i.. 2021. 7. 20.
[Django] User 확장과 인증(이론) mvvenv/lib/django/contrib/auth/models.py에 가면 389라인에 class User. User의 model을 상속받아와서 우리가 원하는 column을 추가해서 새로운 table을 만들 것이다. 장고에서의 Authentication : 인증 1. (회원 정보)회원가입 요청 2. DB에 저장 3. (회원정보) 로그인 정보 4. User테이블에 존재한다면.... 사용자에게 알려준다. authenticate, login,logout 함수 1. authenticate : 로그인을 요청 했을때, username,pw가 user랑 맞는지 확인해주는 함수 2. login : user table에서 온 user 객체를 통해 클라이언트가 인증된 상태를 만들어준다. (request(user)) .. 2021. 7. 20.
[Django] Form forms.py를 쓰는 이유는 - 데이터베이스의 모델이 변할 때 마다 하나하나 수정하지 않고 유효성 검사를 통해 쉽게 할 수 있다. - 장고에서 어떤 입력공간을 주겠다! 생각하고 시작하자. 1. blog앱 안에 forms.py를 생성하자 from django import forms from .models import Blog class BlogForm(forms.ModelForm): class Meta: model = Blog fields = ['title', 'writer','body','image'] #pub_date뺴고 2. views.py 에 해당 코드들 추가 & 수정 # 상단에 추가 from .forms import BlogForm #new 함수 수정 def new(request): form =.. 2021. 7. 19.
[Django] Media 사용자가 업로드한 Static Media 1. settings.py에 코드 추가 MEDIA_ROOT = os.path.join(BASE_DIR, 'media') #이용바가 업로드한 파일을 모으는 곳 MEDIA_URL = '/media/' 2. lionproject/urls.py에 코드 추가 from django.contrib import admin from django.urls import path, include from blog.views import home from django.conf import settings #setting.py를 뜻하는게 아니다. from django.conf.urls.static import static urlpatterns = [ path('admin/', admin... 2021. 7. 19.
[Django] Static 장고에서 다루는 파일은? 1. 정적 파일 : 미리 서버에 저장되어 있는 파일, 서버에 저장된 그대로를 서비스해주는 파일 2. 동적 파일 : 서버의 데이터들이 어느정도 가공된 다음 보여지는 파일 (상황에 따라 달라질 수 있음) 정적파일 Static : 개발자가 서버를 개발할 때 미리 넣어놓은 정적파일(Img, js, css) Media : 사용자가 업로드 할 수 있는 파일 1. blog/static 폴더 생성하고 다운받은 이미지를 static파일에 넣기 2. setting.py에 코드 추가 #코드 맨 앞 줄에 import os # 122번째 줄 쯔음에 STATIC_URL = '/static/' STATICFILES_DIRS = [ os.path.join(BASE_DIR, 'blog', 'static')] .. 2021. 7. 19.