오늘도 짧고 간단한 포스팅을 하겠습니다.
웹을 만들다보면 필요한 가장 필수적인 부분으로, URL을 연결하는 방법에 대해 알아보겠습니다.
예를 들어, 회원가입하는 페이지를 만들고 싶다면, http://~~~~~/signup
과 같은 방식으로 url을 만들어야합니다. 장고에서 url을 연결하는 방법은 아래 단계에 따라 진행하시면 됩니다.
프로젝트 url 설정
프로젝트에 있는 url 파일을 아래와 같이 수정합니다.
1 2 3 4 5 6 7 8 | from django.contrib import admin from django.urls import path, include urlpatterns = [ path('admin/', admin.site.urls), path('users/', include('users.urls')) # 유저 앱의 url ] | cs |
두번째 줄에 보면, 만든 앱의 url을 추가해준 것을 볼 수 있습니다. 즉, 앱에 속한 url들은 앱 내의 url 파일 수정을 통해 변경할 수 있습니다. 이렇게 진행해야 좀 더 관리측면에서 편한 것 같습니다.
앱의 urls.py 파일 생성
위에서 언급한 urls.py를 만들어야합니다. 만든 앱 폴더에 urls.py 파일을 만들고, 다음과 같이 생성합니다. 참고로 저는 회원가입 페이지를 만들 것이므로, 이름은 signup
으로 모두 통일시켰습니다.
1 2 3 4 5 6 7 8 | from django.urls import path from . import views urlpatterns = [ path('signup/', views.signup) ] | cs |
views
에서 signup
함수 만들기
위에서 선언한 views의 signup 함수를 만들어야합니다. 즉, 앱의 views.py에 들어가 다음과 같이 수정합니다.
1 2 3 4 5 | from django.shortcuts import render # Create your views here. def signup(request): return render(request, 'signup.html') | cs |
코드를 보시면 request를 받고 signup.html
에 연결해놓은 것을 알 수 있습니다. 이제 마지막으로 signup.html
파일을 수정하면 됩니다.
signup.html
파일 수정
이 부분은 bootstrap의 form에서 그대로 긁어왔습니다. 부트스트랩을 사용하면 다양한 형태의 템플릿을 손쉽게 적용할 수 있습니다.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 | <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>회원가입</title> <!-- Bootstrap 초기화 부분 --> <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0/css/bootstrap.min.css" integrity="sha384-Gn5384xqQ1aoWXA+058RXPxPg6fy4IWvTNh0E263XmFcJlSAwiGgFAW/dAiS6JXm" crossorigin="anonymous"> <script src="https://code.jquery.com/jquery-3.2.1.slim.min.js" integrity="sha384-KJ3o2DKtIkvYIK3UENzmM7KCkRr/rE9/Qpg6aAZGJwFDMVNA/GpGFF93hXpG5KkN" crossorigin="anonymous"></script> <script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.12.9/umd/popper.min.js" integrity="sha384-ApNbgh9B+Y1QKtv3Rn7W3mgPxhU9K/ScQsAP7hUibX39j7fakFPskvXusvfa0b4Q" crossorigin="anonymous"></script> <script src="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0/js/bootstrap.min.js" integrity="sha384-JZR6Spejh4U02d8jOt6vLEHfe/JQGiRRSQQxSfFWpi1MquVdAyjUar5+76PVCmYl" crossorigin="anonymous"></script> </head> <body> <form> <div class="form-group"> <label for="username">사용자명</label> <input type="text" class="form-control" id="username" aria-describedby="emailHelp" placeholder="이름을 입력하세요."> </div> <div class="form-group"> <label for="password">비밀번호</label> <input type="password" class="form-control" id="password" placeholder="비밀번호를 입력하세요."> </div> <button type="submit" class="btn btn-primary">등록</button> </form> </body> </html> | cs |
이렇게 url을 연결하는 방법에 대해 알아봤습니다. 이제 서버를 실행하고, 저 같은 경우 다음 주소로 접근하면 페이지를 띄울 수 있습니다.
http://127.0.0.1:8000/users/signup/
'Developer > Django' 카테고리의 다른 글
[Django] MTV - Template 상속하기 (0) | 2020.11.28 |
---|---|
[Django] Bootstrap 스타일 적용하기 (0) | 2020.11.27 |
[Django] GET, POST 메소드 구현 (0) | 2020.11.26 |
[Django] 모델 테이블 분리해서 어드민 페이지에 보여주기 (0) | 2020.11.24 |
[Django] 프로젝트 및 앱 생성, Admin 계정, 기본 모델 생성 (0) | 2020.11.11 |
댓글