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
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.
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.
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.
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 // 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 //localhost:5000/success [generated on the successful login] is shown in the below image.
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.
Ở đâ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.