Hướng dẫn python flask button onclick redirect - nút bình trăn chuyển hướng onclick

Tôi đang cố gắng tạo một ứng dụng web bằng bình và tôi đang gặp sự cố chuyển hướng sang một trang/tuyến khác mà tôi có trong tệp app.py của mình. Tôi cũng thiết lập một mẫu HTML cho trang (đăng nhập) khác.

Đây là mã của tôi trong ứng dụng chính.py:

@app.route('/', methods=['GET', 'POST']) 

    if request.method == 'GET':
        pass

    if request.method == 'POST':
        pass

    return render_template('index.html', passable=passable)

@app.route('/login', methods=['GET', 'POST'])
def login():

    if request.method == 'POST':
        name = request.form.get('username')
        post = request.form.get('password')
        # still need to complete

    return render_template('login.html')

Tôi đã nhập tất cả các mô -đun có liên quan (tôi nghĩ).

Trong tệp index.html của tôi, tôi có một nút mà tôi muốn nó chuyển hướng đến trang đăng nhập.html của tôi. Hiện tại tôi đang làm một cái gì đó như thế này:

Bất cứ khi nào tôi khởi chạy trang (cục bộ), tôi sẽ gặp lỗi này. jinja2.Exceptions.UndefinedEror

Làm cách nào để làm cho nút chuyển hướng đến tuyến bình "Đăng nhập"?

các nút và chuyển hướng bằng bình

Xin chào, vì vậy trước tiên hãy tham khảo hướng dẫn của tôi Làm thế nào để thêm các mẫu riêng biệt cho các trang riêng biệt trong bình. Bên trong thư mục Mẫu có một chỉ mục.html chứa các hướng dẫn để sắp xếp bố cục trong trang trang chủ hoặc trang Index. Mã của Index.html.






Vehicle info Dashboard


Đây là cách trang chủ trông như thế nào.

Ở đây tôi đã thêm nút bên trong một phần tử đoạn văn và bên trong cùng một phần tử đoạn văn chứa nút, có một phần tử neo, dẫn đến VMD_Timestamp, bạn có thể thêm tên của trang tuyến đường mà bạn muốn chỉ huy.

Mã app.py, trong trường hợp của tôi, tôi đang hướng chỉ mục hoặc trang chủ đến vmd_timstamp thông qua một sự kiện nhấp vào nút như được mô tả ở trên.

from flask import Flask, request,render_template
app = Flask(__name__)
@app.route('/')
def index():
return render_template('index.html')@app.route('/vmd_timestamp')
def vmd_timestamp():
return render_template('vmd_timestamp.html')

Cảm ơn vì đã đọc. Có mã hóa vui vẻ !!!!

Xin chào, tôi muốn biết liệu có thể có được những hình ảnh hoạt động như các nút không.

Ý tưởng sẽ là hiển thị một số hình ảnh trên một trang. Khi người dùng nhấp vào một, giá trị của hình ảnh (ví dụ: tên) được lưu cho sau (như nút gửi). Sau đó, một trang mới (URL khác) được hiển thị. URL mới không phụ thuộc vào hình ảnh được nhấp trước đó.

Cảm ơn bạn đã giúp đỡ!

Tạo một tài khoản miễn phí

Đăng ký để mở khóa tất cả các tính năng IQCode:

  • Làm chủ các kỹ năng hữu ích
  • Cải thiện kết quả học tập
  • Chia sẻ kiến ​​thức của bạn

Đăng ký EmailPasswordEmail Password

Hoặc đăng ký với

Bằng cách đăng ký, bạn đồng ý với Điều khoản và Điều kiện & NBSP; và Chính sách bảo mật. Bạn cũng đồng ý nhận các email tiếp thị liên quan đến sản phẩm từ IQCode, mà bạn có thể hủy đăng ký bất cứ lúc nào.

Lớp Flask cung cấp chức năng chuyển hướng () chuyển hướng người dùng đến một số URL được chỉ định với mã trạng thái được chỉ định.

Mã trạng thái HTTP là một phản hồi từ máy chủ theo yêu cầu của trình duyệt. Khi chúng tôi truy cập một trang web, một yêu cầu được gửi đến máy chủ và máy chủ sau đó trả lời yêu cầu của trình duyệt với mã ba chữ số: mã trạng thái HTTP. Mã trạng thái này cũng đại diện cho lỗi.

Cú pháp để sử dụng hàm chuyển hướng () được đưa ra dưới đây.

Nó chấp nhận các tham số sau.

SnTham sốSự mô tả
1 địa điểmĐó là URL nơi phản hồi sẽ được chuyển hướng.
2 Mã trạng tháiĐó là mã trạng thái được gửi đến tiêu đề của trình duyệt cùng với phản hồi từ máy chủ.
3 phản ứngĐó là ví dụ của phản hồi được sử dụng trong dự án cho các yêu cầu trong tương lai.

Hãy xem xét ví dụ sau đây người dùng được chuyển hướng đến trang thành công với mã trạng thái HTTP 302 (tìm thấy) trên đăng nhập thành công khác; người dùng chỉ trở lại trang này.

Thí dụ

login.py

home.html

Đăng nhập.html

Trong ví dụ trên, URL '/' chứa một liên kết đến trang đăng nhập như trong hình ảnh dưới đây.

Hướng dẫn python flask button onclick redirect - nút bình trăn chuyển hướng onclick

Trang đăng nhập chứa được hiển thị trong hình ảnh bên dưới nhắc người dùng nhập email và mật khẩu và nút gửi chuyển hướng người dùng đến URL /xác thực.

Hướng dẫn python flask button onclick redirect - nút bình trăn chuyển hướng onclick

Trong trường hợp này, vì tôi đã nhập một mật khẩu ngẫu nhiên không bằng 'JTP', do đó, người dùng chỉ trả lại trang này (trang đăng nhập).

Tuy nhiên, người dùng được chuyển hướng đến URL /thành công chỉ khi mật khẩu được người dùng nhập vào 'JTP'. URL http: // localhost: 5000/thành công (được tạo trên đăng nhập thành công) được hiển thị trong hình ảnh dưới đây.success only if the password entered by the user to 'jtp'. The URL http://localhost:5000/success (generated on the successful login) is shown in the below image.

Hướng dẫn python flask button onclick redirect - nút bình trăn chuyển hướng onclick

Mã HTTP tiêu chuẩn

Các mã HTTP sau đây được chuẩn hóa.

  • HTTP_300_MULTIPLE_CHOICES
  • Http_301_move_permanenty
  • HTTP_302_FOUND
  • Http_303_see_other
  • HTTP_304_NOT_MODIFIED
  • HTTP_305_USE_PROXY
  • HTTP_306_RESERVED
  • HTTP_307_TEMPORARY_REDIRECT

Mã trạng thái mặc định là http_302_found.

Hàm hủy bỏ ()

Hàm ABORT () được sử dụng để xử lý các trường hợp các lỗi liên quan đến các yêu cầu từ phía máy khách, chẳng hạn như các yêu cầu xấu, truy cập trái phép và nhiều lỗi khác. Tuy nhiên, mã lỗi sẽ được đề cập do xảy ra lỗi.

Cú pháp để sử dụng hàm ABORT () được đưa ra dưới đây.

Chúng ta có thể đề cập đến các mã lỗi sau tùy thuộc vào các lỗi được chỉ định.

  • 400: Đối với các yêu cầu xấu
  • 401: Để truy cập trái phép
  • 403: vì bị cấm
  • 404: Không tìm thấy
  • 406: vì không được chấp nhận
  • 415: Đối với các loại phương tiện không được hỗ trợ
  • 429: Đối với quá nhiều yêu cầu

Hãy sửa đổi tập lệnh đăng nhập.py từ ví dụ trên và sử dụng hàm ABORT () với mã lỗi 401 (để truy cập trái phép) trong trường hợp bất kỳ mật khẩu ngẫu nhiên nào do người dùng nhập.

Thí dụ

Nó sẽ tạo ra kết quả sau trong trường hợp mật khẩu sai.

Hướng dẫn python flask button onclick redirect - nút bình trăn chuyển hướng onclick

Ở đây, chúng tôi đã sử dụng mã lỗi 401 vì người dùng đã yêu cầu truy cập trái phép vào tài nguyên. Chúng tôi có thể thay đổi nó thành bất kỳ mã nào tùy thuộc vào trường hợp lỗi.


Làm thế nào để bạn chuyển hướng trên nút Nhấp vào bình?

Nếu bạn muốn biểu mẫu của bạn gửi đến một tuyến đường khác, bạn có thể chỉ cần làm. Nếu bạn chỉ muốn đặt một liên kết đến trang, hãy sử dụng thẻ. Nếu bạn muốn xử lý yêu cầu và sau đó chuyển hướng, chỉ cần sử dụng chức năng chuyển hướng được cung cấp bởi bình.use the redirect function provided by flask.

Làm thế nào để bạn gọi chức năng Python trên một nút bấm vào bình?

Vì vậy, bạn cần thực hiện yêu cầu đến ứng dụng bình thông qua URL sẽ gọi/gửi/định tuyến yêu cầu đến chức năng Python của bạn.Không có cuộc gọi trực tiếp giữa chức năng HTML và Python.Bạn cũng có thể sử dụng cuộc gọi AJAX JavaScript và xử lý phản hồi trên cùng một trang mà không tải lại trang.Nó thực sự là tùy thuộc vào bạn.make a request to the flask app through a url which will call/dispatch/route the request to your python function. There is no direct call between html and python function. You can also use a javascript ajax call and handle the response on the same page without page reload. It is really up to you.

Làm cách nào để chuyển hướng đến một trang khác trong bình?

Lớp Flask có hàm chuyển hướng ().Khi được gọi, nó trả về một đối tượng phản hồi và chuyển hướng người dùng đến một vị trí mục tiêu khác với mã trạng thái được chỉ định.Tham số vị trí là URL trong đó phản hồi nên được chuyển hướng.StatusCode được gửi đến tiêu đề của trình duyệt, mặc định là 302.. When called, it returns a response object and redirects the user to another target location with specified status code. location parameter is the URL where response should be redirected. statuscode sent to browser's header, defaults to 302.

Làm cách nào để chạy chức năng JavaScript từ bình python?

Làm thế nào để bạn gọi một javascript trong bình ?..
Từ bình Nhập bình, Render_Template ..
Ứng dụng = bình (__ name__).
@ứng dụng.tuyến đường ('/', phương thức = ['get', 'post']).
def upload_file ():.
Nếu yêu cầu.Phương thức == 'Bài đăng':.