admin 페이지 - django에서 기본적으로 구축해놓은 기능
http://127.0.0.1:8000/admin 으로 기본적으로 접속가능하다.
django에서 제공하는 super user를 만들어야 admin 페이지에 접근 할 수 있습니다!
>> python manage.py createsuperuser
터미널 창에서 위 명령어 입력하여 admin 로그인을 위한 계정 생성 가능
admin 화면에 생성한 모델을 등록해서 admin 화면에서 한번에 관리할 수 있다.
해당 APP의 admin.py 파일에 아래 코드를 작성하면 모델을 admin에 등록할 수 있다.
from django.contrib import admin
from .models import UserModel
# Register your models here.
admin.site.register(UserModel) # 이 코드가 나의 UserModel을 Admin에 추가 해 줍니다
MVT패턴
- M (Model) = models.py
- 데이터베이스의 모델 (ORM)
- 저장되고 사용되는 데이터의 형태
- T (Template) = templates폴더 내의 html
- 사용자에게 보여지는 부분
- 화면
- V (View) = views.py
- 실질적으로 프로그램이 동작하는 부분
- url을 요청하고 응답하는 그 사이에 일어나는 '서비스'들이 존재하는 곳
URL 연결=화면띄우기 (URL > VIEW > TEMPLATE)
중요한점 ! 새로 생성 된 앱의 urls.py와 기본으로 생성 되어있는 urls.py와의 연결을 잘 해주자!
1. url을 연결 할 user앱에 urls.py를 생성 해 주세요
2. 생성한 urls.py 파일을 프로젝트와 연결시켜주기 - 프로젝트제목과 같은 APP에 urls.py 폴더에 코드 추가
# mySpartaSns/urls.py
from django.contrib import admin
from django.urls import path, include
urlpatterns = [
path('admin/', admin.site.urls),
path('', include('user.urls'))
]
3. import include 추가, path('', include('user.urs')) 작성하여 user APP의 urls 폴더와 연결
4. user APP의 urls.py에 연결할 때 view.py에 있는 함수들과 연결되기 때문에 우선 view.py에 연결될 함수 작성
from django.shortcuts import render
# Create your views here.
def sign_up_view(request):
return render(request, 'user/signup.html')
def sign_in_view(request):
return render(request, 'user/signin.html')
5. user APP의 urls.py에 경로 작성해서 View.py와 연결
from django.urls import path
from . import views
urlpatterns = [
path('sign-up/', views.sign_up_view, name='sign-up'),
path('sign-in/', views.sign_in_view, name='sign-in'),
]
return 시 사용되는 메서드 (import 필수!)
1.render - render(request, 'filepath', {'key': value}) - 결과값과 함께 html 띄워줄때
from django.shortcuts import render
def sign_up_view(request):
...
return render(request, 'user/signup.html', {'error': '패스워드를 확인 해주세요'})
2. redirect - redirect('url') - 다시 url GET요청줘서 이동시킬 때
from django.shortcuts import redirect
def sign_in(request):
...
return redirect('/sign-in')
3. HttpResponse - HttpResponse(인자) - ajax 통신 후 response에 줄 내용으로 인자를 줄 수 있음
from django.http import HttpResponse
def sign_in_view(request):
...
return HttpResponse("로그인 성공!")
$.ajax({
type: 'POST',
url: '/user/login',
...
success: function (response) {
alert(response);
>> 로그인 성공! 출력됨
4. JsonResponse(json데이터) - ajax통신 후 response에 json데이터 형태로 줄 수 있음
from django.http import JsonResponse
def example(request):
...
return JsonResponse({'foo': 'bar'})
'회고록(TIL&WIL)' 카테고리의 다른 글
TIL 2022.05.31 Django 공부 - 게시판/CRUD (0) | 2022.05.31 |
---|---|
TIL 2022.05.30 Django공부 - 회원가입/로그인/로그아웃/로그인유지, csrf_token (0) | 2022.05.30 |
TIL 2022.05.26 Django 공부 - APP만들기, DB연결, Model생성 (0) | 2022.05.26 |
TIL 2022.05.25 머신러닝 팀프로젝트(object detection) - 7 (KPT회고) (0) | 2022.05.25 |
TIL 2022.05.24 머신러닝 팀프로젝트(object detection) - 6 (몽고DB페이지네이션, 한 줄에 출력할 갯수 지정css, 테이블의 경계선 지우기 css, 모달창 띄우기) (0) | 2022.05.24 |