장고 2주차

kinghong97·2022년 1월 22일
0
post-custom-banner

장고 구조

setting.py
장고 전체의 환경설정

urls.py
장고 전체의 api 담당

views.py
함수 담당

orm 데이터 베이스와 소통하는 방법

객체 클래스로 데이터를 저장하는 형태

django-admin startapp 앱이름

앱을 만드는 명령어

앱을 만들고 setting.py에서 INSTALLED_APPS에다가 추가해줘야함

데이터 베이스 변경할 때마다

장고에게 데이터 베이스 만들었다고 알려주기

python manage.py makemigrations

데이터 베이스 적용하기

python manage.py migrate

관리자 계정 생성하기

python manage.py createsuperuser

ForeignKey()

다른 데이터 베이스에서 내용을 가져온다 id

path('',include('앱이름.urls'))

앱의 url과 전체의 앱 url이 연결됨

각각 앱에서 views와 urls 를 연결하고 그걸 전체 앱에 연결해주는 것 같다

피라미드 모양처럼

{% csrf_token %}

폼 형식

보안을 위해서 토큰

def sign_up_view(request):
if request.method == 'GET':
return render(request, 'user/signup.html')
elif request.method == 'POST':
username = request.POST.get('username', None)
password = request.POST.get('password', None)
password2 = request.POST.get('password2', None)
bio = request.POST.get('bio', None)

    if password != password2:
        return render(request, 'user/signup.html')
    else:
        new_user = UserModel()
        new_user.username = username
        new_user.password = password
        new_user.bio = bio
        new_user.save()

    return redirect('/sign-in')

if request.method 로 받은 형식으로 리턴 다르게

request.POST.get('username', None)로 각각 변수 지정

if password != password2 비밀번호 다르면 재설정

new_user = UserModel() 유저 인스턴스 생성

        new_user.username = username
        new_user.password = password
        new_user.bio = bio
        new_user.save()

정보 저장

return redirect('/sign-in') 다른 url로 이동

세션

사용자 정보를 저장하는 공간

post-custom-banner

0개의 댓글