이 글에서는 Django에서 URL에 @
기호를 활용하는 방법을 설명한다. @
기호는 URL 경로에 사용자 아이디와 같은 동적 데이터를 포함시키는 데 유용하다. 그러나 @
기호를 포함하면 해당 아이디 정보가 노출될 수 있으므로, 이를 주의해야 한다.
Django에서 URL에 @
기호를 사용하려면, URL 패턴을 정의할 때 @
기호를 포함시키면 된다. 예를 들어, 사용자 프로필 페이지의 URL을 정의할 때 @
기호를 사용할 수 있다.
다음은 @
기호를 포함한 URL 패턴을 정의하는 예제다.
# urls.py
from django.urls import path
from . import views
urlpatterns = [
path('profile/@<str:username>/', views.profile, name='profile'),
]
위 예제에서 @<str:username>
는 URL 경로에 @
기호를 포함하고, username
변수를 사용하여 동적 데이터를 전달한다.
URL 패턴을 정의한 후, 해당 패턴에 매핑되는 View 함수를 정의해야 한다.
# views.py
from django.shortcuts import render
def profile(request, username):
# username 변수를 사용하여 사용자 프로필 정보를 가져오는 로직
context = {
'username': username,
}
return render(request, 'profile.html', context)
위 예제에서 profile
함수는 username
변수를 받아서 사용자 프로필 정보를 가져오는 로직을 수행한다.
@
기호를 URL에 포함하면, 해당 아이디 정보가 노출될 수 있다. 예를 들어, 다음과 같은 URL은 사용자 아이디 정보를 노출한다.
https://www.nullvuild.com/@nullvuild/
ID가 노출되는 것은 보안에 좋지 않지만, 다른 사용자들에게 유저를 확실히 각인시킬 수 있다.
@nullvuild