2023-04-13 TIL

0v0baek·2023년 4월 13일
1

TIL

목록 보기
28/92
post-thumbnail

[Django] 네임 스페이스

파이썬에서 urls.pypath안의 name을 지을 때, 가끔 ㅏ다른 앱의 appname이 겹칠 때가 있다.
하지만 pathname은 곧 변수명이기 때문에 겹치면 곤란해진다.

그럴 때를 위해서 urls.py에서 네임 스페이스를 사용하면, 이게 어디 하위에 위치한 url이름인지를 구분할 수 있다.

사용

# app1/urls.py
urlpatterns = [
    path('', views.home, name='home'),
    ]
# app2/urls.py
urlpatterns = [
    path('', views.home, name='home'),
    ]

이렇게 두 각기 다른 appurls.py에서 이름이 겹친다고 치자.
이럴 때, 네임 스페이스를 이용하면 훨씬 사용하기 편해진다!!

# app1/urls.py
app_name = app1	# 네임 스페이스 추가

urlpatterns = [
    path('', views.home, name='home'),
    ]
# app2/urls.py
app_name = app2	# 네임 스페이스 추가

urlpatterns = [
    path('', views.home, name='home'),
    ]

이렇게 각 네임 스페이스를 지어주면, views.py는 물론 html파일에서도 응용할 수 있다!!

views.py 예시

#views.py

def home1(request):
	return redirect('app1:home')
    
def home2(request):
	return redirect('app2:home')

이런식으로 '네임 스페이스 : path name' 형태로 작성해주면 된다.

html 예시

# main.html

<a href="{% url 'app1:home' %}">app1의 메인 화면으로 이동</a><br/>
<a href="{% url 'app2:home' %}">app2의 메인 화면으로 이동</a>

이런식으로, <a>와 함께 사용할 수 있다.
{% url '네임 스페이스 : path name' %}의 형태로 작성해주면 된다.

[Git] fork 해온 저장소 업데이트 & 내 로컬로 끌어오기

협업을 하면서 fork를 통해서 github를 사용하게 될 때, 메인 브랜치의 내용이 변경되게 되면, 그 변경 사항을 어떻게 내 로컬 저장소에 반영해야 될까?

1. github에서 sync fork

  1. Sync fork를 누른다.
  2. update branch를 눌러 최신 변경 사항을 반영한다.

2. 내 로컬로 fetch 해오기

원본 repo와 sync를 맞춰줬다면 이제 이걸 내 로컬 저장소로 받아와야 한다.

로컬 저장소에서 bash하는 법은 두 가지가 있는데,
1. 파일 탐색기에서 오른쪽 클릭 -> git bash here
2. vscode에서 새 터미널을 bash로 열기

인데, 둘다 어짜피 붙여넣는 코드는 똑같으니 편한걸로 하면 된다.

먼저, 저장소가 잘 등록되어있는지 확인해주자.

# 현재 원격 저장소 확인
>>>git remote -v

연결되어 있는 저장소가 따로 없으면, 내 저장소 주소를 복사해와서 fetch 해주자.

# fork 해온 github 저장소와 연결
>>>git fetch <내 원격 저장소(나의 경우 ssh)>

이렇게 뜨면 잘 연결된거다!!
그럼 이제 fetch를 해주면 된다.

# fetch 해주기 (위에서 해줬음 안해도 됨)
>>>git fetch origin

# 메인 브랜치에 merge 해주기
>>>git merge origin/master(or main)

이러면 잘 받아와진다 !!

profile
개발 공부 하는 비전공자 새내기. 꾸준히 합시다!

0개의 댓글