Hướng dẫn how do you call a python script button click in django? - làm thế nào để bạn gọi một nút bấm trong script python trong django?

Mục tiêu của tôi là nhấp vào nút HTML trên trang web Django của tôi và điều này sẽ thực thi tập lệnh Python cục bộ.

Tôi đang tạo một ứng dụng web cục bộ như một giao diện cho một dự án. Điều này sẽ không được lưu trữ và sẽ luôn luôn chạy trên máy cục bộ của tôi. Dự án của tôi được thực hiện với một kịch bản Python (thực hiện nhiều bài kiểm tra cụ thể cho dự án của tôi). Tất cả những gì tôi cần là một nút trong giao diện web của tôi để thực hiện tập lệnh này trên máy của tôi.

Tôi có một chỉ mục mẫu.html nơi toàn bộ trang web được đặt. Tôi cho rằng tôi cần gọi một số dạng chức năng xem có thể khi nhấn nút?

Làm thế nào để thực thi mã python bằng nút html django?

Câu hỏi này cho thấy:

def index(request):
    if request.method == 'GET':
        return render(request, 'yourapp/index.html', {'output': ''})
    elif request.method == 'POST':
        py_obj = mycode.test_code(10)
        return render(request, 'yourapp/output.html', {'output': py_obj.a})

Tôi đã thử điều này chỉ như một bài kiểm tra nhưng không có gì xảy ra khi tôi đi đến URL (nằm trong chế độ xem thích hợp):

def runtest(request):
    print("Hello World")
    Popen(['gnome-terminal', '-e', 'echo "Hello World"'], stdout=PIPE)
    return

Tuy nhiên, tôi không hiểu nếu điều này đạt được những gì tôi cần, tôi đang đấu tranh để hiểu câu trả lời là gì.

Trường hợp trong khung Django tôi có thể chỉ định cuộc gọi đến tập lệnh Python cục bộ khi nhấn nút?

(Tôi có kinh nghiệm rất hạn chế với các ứng dụng web, đây chỉ đơn giản là một giao diện đơn giản với một số nút để chạy thử nghiệm)

Xin chào các bạn, vì vậy tôi đã tạo một bảng điều khiển với Django, nó có các trang chấp nhận từ khóa từ người dùng và khi người dùng nhấp OK, tôi muốn gọi một tập lệnh Python bên ngoài lấy từ khóa đó làm đối số và trả về kết quả. (Tệp CSV)

Hướng dẫn how do you call a python script button click in django? - làm thế nào để bạn gọi một nút bấm trong script python trong django?

Đầu vào bảng điều khiển

Vấn đề là, khi tôi gọi một tập lệnh Python đơn giản, nó hoạt động tốt và trả về kết quả, nhưng khi tôi gọi tập lệnh gốc dài và phức tạp hơn, nó không hoạt động. Tôi muốn nói thêm rằng tôi chưa quen với Django và tôi đã thử nhiều giải pháp nhưng chúng không hoạt động, vì vậy tôi nghĩ vấn đề là với tập lệnh Python của tôi hoạt động tốt khi tôi kiểm tra nó riêng lẻ.

Hướng dẫn how do you call a python script button click in django? - làm thế nào để bạn gọi một nút bấm trong script python trong django?

views.py

test.py hoạt động tốt vì nó chứa một tập lệnh Python đơn giản.

Hướng dẫn how do you call a python script button click in django? - làm thế nào để bạn gọi một nút bấm trong script python trong django?

test.py

Tôi chỉ muốn biết tại sao tập lệnh gốc của tôi không hoạt động khi tôi gọi nó.

Xin vui lòng, đọc hướng dẫn này: Cách tạo đầu ra CSV | Tài liệu Django | Django [^] Đây là ví dụ rất đơn giản:
This is very simple example:

import csv
from django.http import HttpResponse

def some_view(request):
    # Create the HttpResponse object with the appropriate CSV header.
    response = HttpResponse(
        content_type='text/csv',
        headers={'Content-Disposition': 'attachment; filename="somefilename.csv"'},
    )

    writer = csv.writer(response)
    writer.writerow(['First row', 'Foo', 'Bar', 'Baz'])
    writer.writerow(['Second row', 'A', 'B', 'C', '"Testing"', "Here's a quote"])

    return response

Tôi đã làm việc để tạo một tập lệnh Python sẽ chạy bằng cách nhấp vào nút và sau đó hiển thị đầu ra trong trang Django HTML. Cho đến nay tôi đã quản lý để tạo một nút sẽ chạy tập lệnh nhưng tôi không thể hiển thị bất kỳ kết quả nào dưới đây là mã tôi đã sử dụng, nó chạy tập lệnh Python trong shell nhưng không đi xa hơn.

Trong quan điểm của tôi.py

def Yellow(request):
    inp = request.POST.get('param')

    out = run(['python', '/yellow_page_updated.py', inp], stderr=subprocess.DEVNULL)
    print(out.stderr)
    print("Finished!!")
    return render('Yellow_Page.html', {'data1': out})

Trong url.py của tôi

url(r'^Yellow', views.Yellow, name="Yellow")

Nếu bất cứ ai có thể giúp đỡ hoặc chỉ cho tôi đi đúng hướng, tôi sẽ rất biết ơn.

Nếu kiến ​​thông tin khác là cần thiết, vui lòng cho tôi biết

Cảm ơn đã dành một cái nhìn

Trở lại đầu trang

Làm cách nào để chạy tập lệnh python trên nút bấm?

Bạn phải sử dụng cuộc gọi JS/JQuery + Ajax để xử lý dữ liệu hoặc thực hiện tập lệnh Python ..
Trong tệp HTML của bạn:.
Nguồn ngăn xếp qua dòng chảy ..
Tạo nút HTML để chạy tập lệnh Python ..

Làm thế nào có thể gọi chức năng django trên nút Nhấp vào HTML?

Bạn không thể gọi một chức năng theo cách đó.Python là phụ trợ Lenguage, HTML và JS làm việc ở Frontend.Nếu bạn muốn gọi chức năng Python từ Frontend YouT, bạn cần thực hiện cuộc gọi HTTP để đạt được chế độ xem thực hiện cuộc gọi đó.. Python is backend lenguage, html and js works on frontend. If you want to call a python function from yout frontend you need to make a http call to reach a view that make that call.

Làm thế nào để bạn chạy mã python trên một nút bấm vào bình?

Sau đó, tạo một tập lệnh đơn giản như thế này:..
từ bình nhập bình ..
Ứng dụng = bình (__ name__).
@ứng dụng.tuyến đường("/").
def xin chào ():.
#làm những thứ của bạn ở đây ..
Trả lại "Nó hoạt động!".
Nếu __name__ == "__main__":.
ứng dụng.chạy().