일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 28 | 29 | 30 |
- 2557
- EOF
- 자료구조
- 입출력 패턴
- Django란
- UI한글변경
- 구조체와 클래스의 공통점 및 차이점
- string 함수
- 입/출력
- 표준 입출력
- string 메소드
- k-eta
- 프레임워크와 라이브러리의 차이
- 장고란
- 연결요소
- 이분그래프
- 백준
- 알고리즘 공부방법
- c++
- 엑셀
- 시간복잡도
- Django의 편의성
- getline
- double ended queue
- correlation coefficient
- vscode
- scanf
- iOS14
- 매크로
- Django Nodejs 차이점
- Today
- Total
Storage Gonie
40. app1, app2 앱 통합하기 본문
시작하기에 앞서 app2 프로젝트 사본을 만들었고 이름을 django_apps_lotto_polls로 만들었다.
1. django_apps_lotto_polls 프로젝트에 app1프로젝트의 lotto 앱 폴더를 복사해온다.
- 한 프로젝트에 lotto, polls 2개의 앱폴더가 존재하는 상태로 만듬
2. app1프로젝트에서 urls.py를 복사해와 lotto 앱폴더 아래에 붙여넣기 해준다.
3. mysite/urls.py에 lotto앱의 url을 추가해준다.
urlpatterns = [
url(r'^admin/', admin.site.urls),
url(r'^polls/', include('polls.urls')),
url(r'^lotto/', include('lotto.urls')),
]
4. lotto/urls.py에서 views 경로 수정
from . import views
5. lotto/urls.py에서 필요없는 urlpattern 을 제거 및 수정 및 app_name추가
- url(r'^lotto/~$')에서 'lotto'는 이제 필요 없으므로 지워줌
- index와 index2가 있는데 index2를 index로 바꿔주자. 즉, 하나는 지워준다. 이와 동시에 views.py에서 이와 같은 작업을 해준다.
app_name = 'lotto'
urlpatterns = [
url(r'^$', views.index, name='index'),
url(r'^new/$', views.post, name='new_lotto'),
url(r'^(?P<lottokey>[0-9]+)/detail/$', views.detail, name='detail'),
]
6. mysite/setting.py에서 lotto 앱 등록
INSTALLED_APPS = [
'polls',
'lotto',
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
]
7. lotto/templates/lotto에 있는 템플릿에서 name space가 지정되어있지 않은 url에 대해서 name space를 지정해준다.
- default.html에서.
<h2><a href="{% url 'lotto:new_lotto' %}"><span class="glyphicon glyphicon-plus btn btn-default"></span></a></h2>>
<h2><a href="{% url 'lotto:detail' lottokey=lotto.pk %}">{{lotto.text}}</a></h2>
8. lotto/views.py에서 url관련된 부분에 대해 name space를 지정해준다.
- post 메소드에서.
return redirect('lotto:index') # urls에서 name속성에 맞는 쪽로 연결된다.
9. polls/templates/polls/base.html에서 body 부분에 아래코드 추가
<li><a href = "{% url 'lotto:index' %}">로또</a></li>
10. 마지막으로 mysite/urls.py에서 메인페이지 url패턴 추가하고 polls의 views import해주기
from django.conf.urls import url
from django.contrib import admin
from django.conf.urls import include
from polls import views
urlpatterns = [
url(r'^$', views.main, name = 'name'),
url(r'^admin/', admin.site.urls),
url(r'^polls/', include('polls.urls')),
url(r'^lotto/', include('lotto.urls')),
]
11. "python manage.py migrate" 실행 후 "python manage.py runserver"
'웹개발 > Django 웹서비스 개발(인프런)' 카테고리의 다른 글
42. (app3) Django 로그인과 로그아웃 구현하기 (0) | 2019.02.22 |
---|---|
41. (app3) 킬로그램 앱 초기화 (0) | 2019.02.21 |
39. (app2) Django 템플릿 확장을 다른 모든 템플릿에 적용 (0) | 2019.02.20 |
38. (app2) 템플릿 확장을 이용한 admin 템플릿 수정 (0) | 2019.02.20 |
37. (app2) 정적파일 적용 및 관리 (0) | 2019.02.20 |