Tôi có hai ứng dụng nằm trên hai máy tính riêng biệt. Trên máy tính A, trong file urls.py
Tôi có một dòng như sau:url django không có dấu gạch chéo không chuyển hướng
(r'^cast/$', 'mySite.simulate.views.cast')
Và url rằng sẽ làm việc cho cả hai mySite.com/cast/
và mySite.com/cast
. Nhưng trên máy tính của BI có một url tương tự được viết ra như:
(r'^login/$', 'mySite.myUser.views.login')
Đối với một số lý do trên máy tính B url mySite.com/login
/sẽ làm việc nhưng mySite.com/login
sẽ treo và sẽ không trực tiếp trở lại mySite.com/login/
như nó sẽ trên máy tính A. có cái gì tôi bị mất? Cả hai url.py
tệp trông giống hệt với tôi.
"Khi đặt thành True, nếu URL yêu cầu không phù hợp với bất cứ mẫu nào trong URLconf và nó không kết thúc bằng dấu gạch chéo, chuyển hướng HTTP được cấp cho cùng một URL có dấu gạch chéo được nối thêm. Lưu ý rằng chuyển hướng có thể khiến bất kỳ dữ liệu nào được gửi trong yêu cầu POST bị mất. ". "Cài đặt APPEND_SLASH chỉ được sử dụng nếu CommonMiddleware được cài đặt ...". Tôi thích câu trả lời của Michael Gendin cho một giải pháp sạch hơn. – Wtower
Tính năng này không hoạt động nếu bạn đang sử dụng url "bắt tất cả" bổ sung ở mục nhập cuối cùng của mẫu url của bạn. @ speedplane của câu trả lời sẽ làm việc ngay cả ở những tình huống. Nhưng, tất nhiên, điều này đơn giản hơn và nên được sử dụng nếu không có các mục nhập urlpattern "bắt tất cả". – np8