Có rất nhiều bài đăng và trang thảo luận về việc sử dụng Django và AJAX, và tôi đã đọc hàng trăm ngày trước hoặc để tìm câu trả lời cho câu hỏi này. Một cái nhìn tổng quát:Sử dụng Thẻ URL Django trong Cuộc gọi AJAX
tháng trong những ví dụ cho thấy một URL mã hóa cứng như thế này:
$.post("/projects/create/", {"name" : name}, function(data) {...
hoặc một số sử dụng mẫu URL thẻ, nhưng không có thông số:
$.post("{% url create_project %}", {"name" : name}, function(data) {...
Tuy nhiên, Tôi muốn bao gồm thông số kiểu Django trong URL. Đây là định nghĩa url của tôi:
url(r'ajax/entity_name/(?P<pk>\w+)/$',EntityAjaxView.as_view(),name='entity_name'),
Vâng, tôi đang sử dụng chế độ xem dựa trên lớp và dựa trên DetailView. Chế độ xem này theo mặc định cho giá trị pk được cung cấp trong URL và trong mẫu chuẩn tôi sẽ sử dụng:
{% url entity_name id_number %}
để cung cấp liên kết. Trong mã của tôi, tôi muốn lấy giá trị được nhập vào một hộp đầu vào cho giá trị pk. Đây là đoạn mã JavaScript của tôi (không hoạt động):
var id_number = $('#id_endowmententity_set-' + rownum + '-id_number').val()
$.ajax({
type: "GET",
url: '{% url entity_name id_number %}',
Vì vậy, câu hỏi của tôi là, tôi có thể sử dụng thẻ mẫu URL có giá trị từ hộp nhập liệu không?
(Tôi biết rằng tôi có thể sử dụng POST thay vì GET và vượt qua id_number trong dữ liệu POST, nhưng điều đó sẽ không làm việc tốt với các DetailView.)
Cảm ơn trước sự giúp đỡ của bạn.
Hai tùy chọn tốt. Cảm ơn! – Dashdrum