绝对路径和相对路径往往更易于理解,新手常使用路径引用某个文件,从而使构建的代码不够稳定。
在 Django 中设置 LOGIN_REDIRECT_URL
时,推荐使用 URL 的名称而不是相对路径或绝对路径。
这样做的好处是,如果未来更改了 URL 的结构,只需要在 urls.py
中更新 URL 的名称映射,而不需要在代码的其他部分进行修改。
最佳实现:"使用 URL 名称"
settings.py
文件中,将 LOGIN_REDIRECT_URL
设置为希望用户在登录后重定向到的 URL 的名称。例如:
# settings.py
LOGIN_REDIRECT_URL = 'playlist_list' # 使用 URL 的名称
假设在 urls.py
中有一个名为 playlist_list
的 URL:
# urls.py
from django.urls import path
from . import views
urlpatterns = [
# ......
path('player/', views.playlist_list, name='playlist_list'),
]
相对路径或绝对路径为什么不好
一些注意事项:
- 相对路径(如
'../player/'
)依赖于当前 URL 的结构,可能导致不稳定或不可预测的行为,尤其是应用扩展或重构时。 - 绝对路径(如
'/player/'
)因为它不依赖于当前页面的 URL,但它仍不如使用 URL 名称那样灵活,因为如果 URL 变化,仍然需要更新settings.py
。
总之,最稳妥和可维护的方法是使用 URL 名称。
这样一来, LOGIN_REDIRECT_URL
就与特定的 URL 路径解耦,从而 Django 应用更加灵活和易于维护。
不止django
编程语言都应该高内聚低耦合