관리 메뉴

웹개발자의 기지개

[Django] 특정페이지로 특정데이터값 넘기기1 - javascript alert 띄우기 본문

python/Django

[Django] 특정페이지로 특정데이터값 넘기기1 - javascript alert 띄우기

http://portfolio.wonpaper.net 2022. 4. 20. 10:08

Django 상에서, view.py 의 특정 작업을 수행한 후에 원하는 특정페이지로 이동할 때 추가로 Data를 넘기고 받을때

간단히 정리해 보고자 한다.

 

임의의 member 앱을 간단히 만들고, 

[ /member/view.py ]

 

1
2
3
4
from django.shortcuts import render
 
def member_home(request):
    return render(request, 'home.html', {'member_reg'"ok"})
cs

 {'member_reg': "ok"} 는 dictionary 형태의 파이썬 테이터 형식으로 home.html 로 보내고 렌더링한다는 뜻이다.

 

 

[ /프로젝트/urls.py ]

1
2
3
4
urlpatterns = [
    path('member/', include('member.urls')),
]
 
cs

 

[ /member/urls.py ]

1
2
3
4
5
6
from django.urls import path
from . import views
 
urlpatterns = [
    path('member_home', views.member_home, name='member_home'),
]
cs

 

[ /templates/home.html ]

 

1
2
3
4
5
 {% if member_reg == "ok" %}
    <script>
    alert('회원가입 되었습니다.');
    </script>
{% endif %}
cs

템플릿 실제 html 뷰페이지이다.

member_reg 로 받아서 if문으로 확인해 보았다.

 

웹주소상에서 찍어보자.

http://127.0.0.1:8000/member/member_home



그러면 간단히 javascript alert 창이 뜨는걸 볼 수 있다.

 

 

이번에는 view.py 에서 render 함수를 쓰서 페이지를 이동하지 않고, 

HttpResponse 클래스를 이용하여 바로 text문구를 찍어보도록 하자.

 

 

[ /member/view.py ]

1
2
3
4
5
from django.http import HttpResponse
 
def member_home(request):
    return HttpResponse(
        "<script>alert('올바르지 않은 접근입니다.\\n\\n회원가입 페이지로 돌아갑니다.');location.href='/member/member_reg';</script>")
cs

 

http://127.0.0.1:8000/member/member_home 해서 웹주소창에서 결과로 확인해보면

자바스크립트 alert 창이 확인이 되고, location 처리됨을 알 수 있다.

 

 

 

Comments