Hướng dẫn passing value from html to python django - chuyển giá trị từ html sang python django

Tôi thường làm điều này trong Ajax tôi nghĩ.

Nhưng nếu ví dụ tôi có một nút và hộp đầu vào tìm kiếm sẽ có giá trị truy vấn, làm thế nào tôi có thể chuyển giá trị tìm kiếm (và có thể nhiều giá trị/tham số không thu được thông qua trường biểu mẫu) sang chế độ xem django trên nút bấm vào URL?

HTML

 <div>
    <input id="search" name="search" type="text" class="query-search" placeholder="Search...">
    <a class="btn btn-primary btn-lg btn-space col-sm-3" href="{% url 'routes_view' %}">View Routes</a>
 </div>

Lượt xem

def view_detail(request): 
   ...
   <How to get values from HTML without using ajax? Or its the only way?>

URL

url(r'^view/', views.view_detail, name='view_detail')

Hỏi ngày 24 tháng 11 năm 2017 lúc 2:45Nov 24, 2017 at 2:45

Hướng dẫn passing value from html to python django - chuyển giá trị từ html sang python django

ReiionreiionReiion

8932 Huy hiệu vàng12 Huy hiệu bạc32 Huy hiệu đồng2 gold badges12 silver badges32 bronze badges

Hiểu từ câu trả lời trước đó, nếu bạn không muốn các giá trị tìm kiếm được gửi dưới dạng tham số URL, bạn có thể gửi chúng qua cuộc gọi và xử lý bài đăng AJAX trong chế độ xem, như thế này:

<div>
    <input id="search" name="search" type="text" class="query-search" placeholder="Search...">
    <input onclick="setGetParameter()" type="button" class="btn btn-primary" value = "View Details"/>
</div>


<script>

function setGetParameter(){
    var search_word = $("#search").val();
    $.ajax({
      type: "POST",
      url: {% url 'view_detail' %},
      data: search_word,
      success: function(result){
        alert("Success");
      }
    });
}
</script>

Quan điểm của bạn sẽ trông giống như thế này.

def search_view(request):
    if request.method == "POST":
        search_word = request.POST['data']

Cấu hình URL sẽ vẫn là cách các câu trả lời khác mô tả chúng.

Đã trả lời ngày 24 tháng 11 năm 2017 lúc 9:51Nov 24, 2017 at 9:51

Piyush Daspiyush DasPiyush Das

5561 Huy hiệu vàng5 Huy hiệu bạc17 Huy hiệu đồng1 gold badge5 silver badges17 bronze badges

8

Bạn có thể tạo biểu mẫu HTML và có thể gửi biểu mẫu bằng phương thức POST nếu bạn không muốn truyền các giá trị trong URL.

<div>
<form action="{% url 'view_detail' %}" method="post">
{% csrf_token %}
<input id="search" name="search" type="text" class="query-search" 
 placeholder="Search...">
<input class="btn btn-primary" type="submit" value="submit">
</form>
</div>

Và sau đó trong chế độ xem của bạn, bạn có thể tìm nạp dữ liệu dưới dạng request.post.get ('tìm kiếm'):

def view_detail(request):
    searchWord = request.POST.get('search','')
    return HttpResponse(searchWord)

Theo cùng một cách bạn có thể vượt qua nhiều tham số.

Đã trả lời ngày 24 tháng 11 năm 2017 lúc 3:47Nov 24, 2017 at 3:47

1

Bạn có thể tạo một nút hoạt động như một liên kết trong các mẫu của mình và thêm chức năng JS trên sự kiện Onclick, sau đó lấy giá trị đầu vào tìm kiếm và thêm tham số tìm kiếm vào URL

def view_detail(request): 
   ...
   <How to get values from HTML without using ajax? Or its the only way?>
0:

<div>
    <input id="search" name="search" type="text" class="query-search" placeholder="Search...">
    <input onclick="setGetParameter()" type="button" class="btn btn-primary" value = "View Details"/>
</div>


<script>

function setGetParameter(){
    searchWord = document.getElementById('search').value;
    window.location.href = "{% url 'view_detail' %}" + "?search="+searchWord;
}
</script>

Trong các chế độ xem, bạn có thể sử dụng

def view_detail(request): 
   ...
   <How to get values from HTML without using ajax? Or its the only way?>
1 để lấy các tham số (nội dung tìm kiếm) mà bạn nhập từ các mẫu, như thế này:

def view_detail(request):
    searchWord = request.GET.get('search')
    return HttpResponse(searchWord)

BTW, UrlPotype trông giống như thế này:

urlpatterns = [
    url(r'^$', views.index, name='index'),
    url(r'^view$', views.view_detail, name='view_detail'),
]

Đã trả lời ngày 24 tháng 11 năm 2017 lúc 3:33Nov 24, 2017 at 3:33

Tiny.DTiny.DTiny.D

6.4062 Huy hiệu vàng14 Huy hiệu bạc20 Huy hiệu Đồng2 gold badges14 silver badges20 bronze badges

2

Làm thế nào truyền dữ liệu từ HTML sang Python?

Làm cách nào để nhận các giá trị đầu vào từ trang HTML đến Python trong máy chủ ?..
lời yêu cầu. hình thức. GET (FN FNAME) sẽ nhận được đầu vào từ giá trị đầu vào có thuộc tính tên là fname và lưu trữ trong biến First_name ..
lời yêu cầu. hình thức. GET (Hồi LNAME) sẽ nhận được đầu vào từ giá trị đầu vào có thuộc tính tên là lname và lưu trữ trong biến last_name ..

Làm cách nào để chèn dữ liệu vào cơ sở dữ liệu MySQL từ biểu mẫu HTML bằng Django?

Hiển thị biểu mẫu để lấy đầu vào của người dùng.Chúng tôi sẽ tạo một biểu mẫu web để lấy đầu vào từ người dùng.....
Thêm URL.Bên trong thư mục ứng dụng của chúng tôi, chúng tôi sẽ sử dụng tệp urls.py để thêm đường dẫn vào biểu mẫu của chúng tôi.....
Tạo bảng.....
Chi tiết cơ sở dữ liệu (MySQL) ....
Di cư.....
Tạo quan điểm.....
Nhận id duy nhất của hàng chèn ..

Làm thế nào để bạn chuyển một biến cho một mẫu HTML?

Giá trị mặc định được sử dụng khi một tham số không được đặt trong quy trình quy trình công việc ...
Chọn khung tham số ..
Nhấp vào biểu tượng Thêm tham số (Plus-symbol).Hộp thoại Thêm tham số xuất hiện ..
Nhập tên cho tham số ..
Nhập giá trị mặc định ..
Bấm OK để lưu tham số ..

Làm cách nào để di chuyển dữ liệu từ trang này sang trang khác trong Django?

Làm cách nào để di chuyển dữ liệu từ trang này sang trang khác trong Django ?..
Lớp xem1 (Xem):.
DEF GET (Bản thân, Yêu cầu):.
Trả về kết xuất (Yêu cầu, 'Ví dụ/View1.html').
Lớp xem2 (Xem):.
def get (tự, yêu cầu, arg1):.
mã thông báo = ProcessData (arg1).
bối cảnh = {.
'Word': Mã thông báo,.