Django yêu cầu biết những gì các trang người dùng đến từ là:
previous_page = request.META['HTTP_REFERER']
Nó sẽ chứa một cái gì đó như:
>>> print(previous_page)
'http://www.myserver.com/myApp/z'
Do đó bạn biết bạn đến từ đâu (cảnh báo, coi đó là dữ liệu không an toàn và xác minh nó kỹ lưỡng, thậm chí nó có thể chứa dữ liệu độc hại) và sử dụng thông tin.
Trước tiên, bạn vượt qua nó để mẫu như
data = {
...,
# also indicate, that saved data are valid and user can leave
'previous_page': previous_page,
}
Render trang z.html
return render(request, 'myApp/z.html', data)
Và trong bản mẫu của trang z, bạn thêm thẻ meta refresh đến. Nó sẽ gây ra điều đó một lần dưới hình thức được lưu và trang nạp, người dùng sẽ được chuyển hướng chuyển hướng trở lại tự động:
{% if form_is_saved and previous_page %}<meta http-equiv="refresh" content="0; url={{ previous_page }}" />{% endif %}
này có lợi thế, hình thức được lưu bởi z.html trang, nơi nó được lấp đầy và bạn không cần xử lý nó theo trang x và y (đây là cách duy nhất để làm điều đó nếu các trang x và y nằm ngoài ứng dụng Django của bạn).
Nguồn
2016-06-05 16:23:08
để nút của tôi trên trang y nên một cái gì đó như thế này: ? Vì một số lý do không hoạt động. Đối với một, hình thức của tôi không còn tiết kiệm ngay cả khi "tiếp theo" là dưới hình thức nếu tôi hợp lệ .. Và tôi đang được chuyển hướng đến trang chào đón ban đầu .. mặc dù đó là trang sai để bắt đầu với .. tôi thậm chí không kno nơi nó nhận được điều đó từ lol .. – JohnnyCash
Tôi đã cập nhật câu trả lời - tôi đã đặt thêm/trong '
cảm ơn bạn :) chỉ có một chỉnh sửa nhanh: trong