Django 로 게시판 만들기(4). 회원가입 페이지 생성, view 작성과 url 연결하기

.·2020년 7월 24일
1

게시판만들기

목록 보기
4/21

1. member 앱 내에 templates 폴더 생성

2. 회원가입 폼 html 작성하기

<div class="container>
  <div class="row mt-5">
    <div class="col-12 text-center">
      <h1>회원가입</h1>
    </div>
  </div>
</div>

<div class="container>
  <div class="row mt-5">
    <div class="col-12 text-center">
       <form>
          <div class="form-group">
            <label for="exampleInputEmail1">Email address</label>
            <input type="email" class="form-control" id="exampleInputEmail1" aria-describedby="emailHelp">
            <small id="emailHelp" class="form-text text-muted">We'll never share your email with anyone else.</small>
          </div>
          <div class="form-group">
            <label for="exampleInputPassword1">Password</label>
            <input type="password" class="form-control" id="exampleInputPassword1">
          </div>
          <div class="form-group form-check">
            <input type="checkbox" class="form-check-input" id="exampleCheck1">
            <label class="form-check-label" for="exampleCheck1">Check me out</label>
          </div>
          <button type="submit" class="btn btn-primary">Submit</button>
        </form>
    </div>
  </div>
</div>
    	

간단하게 회원가입 화면을 만들었다. 이제 이 html 을 장고의 view 와 연결하도록 한다.

3. views.py

from django.shortcuts import render

def register(request):
	return render(request, 'register.html')

Django에서의 뷰(View)는 다른 일반 MVC Framework에서 말하는 Controller와 비슷한 역할을 한다.

즉, View는 필요한 데이타를 모델 (혹은 외부)에서 가져와서 적절히 가공하여 웹 페이지 결과를 만들도록 컨트롤하는 역할을 한다.

꼭 봐야하는 링크
http://pythonstudy.xyz/python/article/306-Django-%EB%B7%B0-View

클라이언트가 요청하는 (웹페이지를 보여줘! 또는 회원가입을 시켜줘! 등등) 의 요청 정보가 request 라는 변수를 통해 들어오게 된다.

그러면 render 는 request 요청을 전달 해 주고 동시에 반환해 주고자 하는 html 파일도 인자에 담아서 리턴해 준다.

이제 view 에 만든 register 함수를 url 에 연결해야 한다.

4. urls.py

config/urls.py

먼저 메인 컨트롤 config/urls.py 를 작성해 보자.

from django.contrib import admin
from django.urls import path, include

urlpatterns = [
    path('admin/', admin.site.urls),
    path('member/', include('member.urls')),
]
  • include 함수 임포트 하기
  • path('member/', include('member.urls')), 추가하기
    http://127.0.0.1:8000/member 아래로 오는 모든 url 들은 member app 내에 있는 urls.py 에서 관리하겠다 라는 것을 의미하는 코드이다.

member/urls.py

member 앱 안에 urls.py 를 생성해 주고 작성한다.

from django.urls import path
from . import views

urlpatterns = [
    path('register/', views.register),
]

그럼 이제 멤버의 회원가입 경로는 http://127.0.0.1:8000/member/register 가 되고, 이 경로에서 아까 views.py 에 작성했던 함수 register 를 실행하게 한다.

from . import views 로 불러오게 한다.
이제 def register() 함수가 실행되면서 html 화면을 불러오게 되는 것이다.

profile
.

0개의 댓글