Django Inventory System Web Project 4 -재고관리시스템 파이썬 웹 프로젝트
1.1 config 폴더 urls.py 파일 수정
로그인 페이지 ,로그아웃 페이지 경로 지정
1
2
fromIPython.displayimportImage# 주피터 노트북에 이미지 삽입
Image("C://Users/MyCom/jupyter-tutorial/Django-Project/Django-Inventory-System-Web/data/42.png")
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
fromreimporttemplatefromdjango.contribimportadminfromdjango.urlsimportpath,includefromuserimportviewsasuser_viewfromdjango.contrib.authimportviewsasauth_viewsurlpatterns=[path('admin/',admin.site.urls),path('',include('dashboard.urls')),#dashboard 폴더에 urls 파일 경로 설정
path('register/',user_view.register,name='user-register'),path('login/',auth_views.LoginView.as_view(template_name='user/login.html'),name='user-login'),path('logout/',auth_views.LogoutView.as_view(template_name='user/logout.html'),name='user-logout'),]
templates 폴더 -> user 폴더 login.html 생성
1
2
fromIPython.displayimportImage# 주피터 노트북에 이미지 삽입
Image("C://Users/MyCom/jupyter-tutorial/Django-Project/Django-Inventory-System-Web/data/43.png")
1.3 config 폴더 settings.py 파일 수정
LOGIN_REDIRECT_URL = ‘dashboard-index’ 추가 해줍니다.
로그인 페이지에서 Staff 또는 Superuser(최고 관리자)가 로그인 하면 dashboard/index.html 페이지으로 들어가게 해줍니다.
1
2
fromIPython.displayimportImage# 주피터 노트북에 이미지 삽입
Image("C://Users/MyCom/jupyter-tutorial/Django-Project/Django-Inventory-System-Web/data/44.png")
1.4 dashboard폴더 urls.py파일 수정
dashboard-index 으로 설정하여 로그인하면 index.html 파일로 갈 수 있게 해줍니다.
1
2
fromIPython.displayimportImage# 주피터 노트북에 이미지 삽입
Image("C://Users/MyCom/jupyter-tutorial/Django-Project/Django-Inventory-System-Web/data/58.png")
frommultiprocessingimportcontextfromdjango.shortcutsimportrender# HttpResponse: 응답에 대한 메타정보를 가지고 있는 객체
fromdjango.httpimportHttpResponsefromdjango.contrib.auth.decoratorsimportlogin_requiredfrom.modelsimportProduct# 데코레이터(decorator)는 @ 붙여서 실행한다.
# 데커레이터는 다른 함수를 인수로 받는 콜러블(데커레이터된 함수)이다
@login_requireddefindex(request):#return HttpResponse('<h1> 메인 페이지 </h1>')
returnrender(request,'dashboard/index.html')# templates 폴더에서 index.html 불러옴
'''
예시)
return render(request, 'polls/index.html', context)
render() 함수는 request 객체를 첫번째 인수로 받고, 템플릿 이름을 두번째 인수로 받으며, context 사전형 객체를 세전째 선택적(optional) 인수로 받습니다. 인수로 지정된 context로 표현된 템플릿의 HttpResponse 객체가 반환됩니다.
'''@login_requireddefstaff(request):#return HttpResponse('관리자 페이지')
returnrender(request,'dashboard/staff.html')@login_requireddefproduct(request):items=Product.objects.all()context={'items':items,}returnrender(request,'dashboard/product.html',context)@login_requireddeforder(request):returnrender(request,'dashboard/order.html')
Leave a comment