Nhập Html vào biến python django

Như bạn có thể thấy trong chế độ xem ở trên, chúng tôi tạo một đối tượng có tên bối cảnh và điền dữ liệu vào đó, đồng thời gửi nó dưới dạng tham số đầu tiên trong hàm template.render()


Tạo biến trong mẫu

Bạn cũng có thể tạo các biến trực tiếp trong mẫu bằng cách sử dụng thẻ mẫu

from django.http import HttpResponse
from django.template import loader

def testing(request):
  template = loader.get_template('template.html')
  context = {
    'firstname': 'Linus',
  }
  return HttpResponse(template.render(context, request))
0

Ví dụ

templates/template.html

{% with firstname="Tobias" %}
Hello {{ firstname }}, how are you?
Chạy ví dụ »

Bạn sẽ tìm hiểu thêm về các thẻ mẫu trong chương tiếp theo


Dữ liệu từ một mô hình

Ví dụ trên cho thấy một cách tiếp cận dễ dàng về cách tạo và sử dụng các biến trong một mẫu

Thông thường, hầu hết dữ liệu bên ngoài mà bạn muốn sử dụng trong mẫu đều đến từ một mẫu

Chúng tôi đã tạo một mô hình trong các chương trước, được gọi là

from django.http import HttpResponse
from django.template import loader

def testing(request):
  template = loader.get_template('template.html')
  context = {
    'firstname': 'Linus',
  }
  return HttpResponse(template.render(context, request))
2, chúng tôi sẽ sử dụng mô hình này trong nhiều ví dụ trong các chương tiếp theo của hướng dẫn này

Để lấy dữ liệu từ mô hình

from django.http import HttpResponse
from django.template import loader

def testing(request):
  template = loader.get_template('template.html')
  context = {
    'firstname': 'Linus',
  }
  return HttpResponse(template.render(context, request))
2, chúng ta sẽ phải nhập nó vào tệp views.py và trích xuất dữ liệu từ nó trong chế độ xem

Django is often called “Batteries Included Framework” because it has a default setting for everything and has features that can help anyone develop a website rapidly. Talking about forms, In HTML, a form is a collection of elements inside

that allow a visitor to do things like entering text, select options, manipulate objects or controls, and so on, and then send that information back to the server. Basically, it is a collection of data for processing it for any purpose including saving it in the database or fetching data from the database. Django supports all types of HTML forms and rendering data from them to a view for processing using various logical operations.

Để biết thêm về các biểu mẫu HTML, hãy truy cập HTML. thẻ biểu mẫu

Django cũng cung cấp tính năng tích hợp sẵn của Django Forms giống như Django Models. Người ta có thể tạo các biểu mẫu trong Django và sử dụng chúng để lấy dữ liệu từ người dùng một cách thuận tiện.
Để bắt đầu với biểu mẫu, người ta cần làm quen với các yêu cầu GET và POST trong biểu mẫu.

  • ĐƯỢC. Ngược lại, GET gộp dữ liệu đã gửi vào một chuỗi và sử dụng dữ liệu này để soạn một URL. URL chứa địa chỉ nơi dữ liệu phải được gửi, cũng như các khóa và giá trị dữ liệu. Bạn có thể thấy điều này đang hoạt động nếu bạn thực hiện tìm kiếm trong tài liệu Django, tài liệu này sẽ tạo ra một URL có dạng https. // tài liệu. djangoproject. com/search/?q=forms&release=1
  • BƯU KIỆN. Bất kỳ yêu cầu nào có thể được sử dụng để thay đổi trạng thái của hệ thống – ví dụ: yêu cầu tạo ra các thay đổi trong cơ sở dữ liệu – nên sử dụng POST

Kết xuất biểu mẫu HTML trong Django Giải thích

Minh họa Biểu mẫu Django bằng Ví dụ. Hãy xem xét một dự án tên là geeksforgeeks có một ứng dụng tên là geeks

Tham khảo các bài viết sau để biết cách tạo project và app trong Django

  • Làm cách nào để tạo một dự án cơ bản bằng MVT trong Django?
  • Làm cách nào để tạo một ứng dụng trong Django?

Hãy tạo một biểu mẫu HTML đơn giản để cho biết cách bạn có thể nhập dữ liệu từ người dùng và sử dụng dữ liệu đó trong chế độ xem của mình. Nhập mã sau vào chuyên viên máy tính> mẫu> nhà. html

HTML




<form action

{% with firstname="Tobias" %}
Hello {{ firstname }}, how are you?
0
{% with firstname="Tobias" %}
Hello {{ firstname }}, how are you?
1
{% with firstname="Tobias" %}
Hello {{ firstname }}, how are you?
2
{% with firstname="Tobias" %}
Hello {{ firstname }}, how are you?
0
{% with firstname="Tobias" %}
Hello {{ firstname }}, how are you?
4
{% with firstname="Tobias" %}
Hello {{ firstname }}, how are you?
5

{% with firstname="Tobias" %}
Hello {{ firstname }}, how are you?
6<form1 form2
{% with firstname="Tobias" %}
Hello {{ firstname }}, how are you?
0form4form5form1
{% with firstname="Tobias" %}
Hello {{ firstname }}, how are you?
5

{% with firstname="Tobias" %}
Hello {{ firstname }}, how are you?
6<action0 action1
{% with firstname="Tobias" %}
Hello {{ firstname }}, how are you?
0form4 action4
{% with firstname="Tobias" %}
Hello {{ firstname }}, how are you?
0action6 action7
{% with firstname="Tobias" %}
Hello {{ firstname }}, how are you?
0form4
{% with firstname="Tobias" %}
Hello {{ firstname }}, how are you?
5

{% with firstname="Tobias" %}
Hello {{ firstname }}, how are you?
6<action0 action4
{% with firstname="Tobias" %}
Hello {{ firstname }}, how are you?
0
{% with firstname="Tobias" %}
Hello {{ firstname }}, how are you?
06
{% with firstname="Tobias" %}
Hello {{ firstname }}, how are you?
07
{% with firstname="Tobias" %}
Hello {{ firstname }}, how are you?
0
{% with firstname="Tobias" %}
Hello {{ firstname }}, how are you?
09
{% with firstname="Tobias" %}
Hello {{ firstname }}, how are you?
5

{% with firstname="Tobias" %}
Hello {{ firstname }}, how are you?
11form
{% with firstname="Tobias" %}
Hello {{ firstname }}, how are you?
5

Bây giờ để hiển thị nó trong chế độ xem của chúng tôi, chúng tôi cần sửa đổi các url. py cho ứng dụng chuyên viên máy tính.
Nhập mã sau vào geeksforgeeks > url. p

Python3




________ 114 ________ 115 ________ 116 ________ 117

 

{% with firstname="Tobias" %}
Hello {{ firstname }}, how are you?
18

{% with firstname="Tobias" %}
Hello {{ firstname }}, how are you?
14
{% with firstname="Tobias" %}
Hello {{ firstname }}, how are you?
20____116
{% with firstname="Tobias" %}
Hello {{ firstname }}, how are you?
22

 

{% with firstname="Tobias" %}
Hello {{ firstname }}, how are you?
23
{% with firstname="Tobias" %}
Hello {{ firstname }}, how are you?
0
{% with firstname="Tobias" %}
Hello {{ firstname }}, how are you?
25

{% with firstname="Tobias" %}
Hello {{ firstname }}, how are you?
6
{% with firstname="Tobias" %}
Hello {{ firstname }}, how are you?
27

{% with firstname="Tobias" %}
Hello {{ firstname }}, how are you?
28

Bây giờ, hãy chuyển đến home_view của chúng tôi và bắt đầu kiểm tra xem chúng tôi sẽ lấy dữ liệu như thế nào. Toàn bộ dữ liệu từ biểu mẫu HTML trong Django được chuyển dưới dạng đối tượng JSON được gọi là yêu cầu. Trước tiên hãy tạo một chế độ xem và sau đó chúng tôi sẽ thử tất cả các phương pháp để tìm nạp dữ liệu từ biểu mẫu

Python3




________ 114 ________ 100 ________ 116 ________ 102

 

{% with firstname="Tobias" %}
Hello {{ firstname }}, how are you?
03

{% with firstname="Tobias" %}
Hello {{ firstname }}, how are you?
04
{% with firstname="Tobias" %}
Hello {{ firstname }}, how are you?
05

 

{% with firstname="Tobias" %}
Hello {{ firstname }}, how are you?
6
{% with firstname="Tobias" %}
Hello {{ firstname }}, how are you?
07

{% with firstname="Tobias" %}
Hello {{ firstname }}, how are you?
6
{% with firstname="Tobias" %}
Hello {{ firstname }}, how are you?
09
{% with firstname="Tobias" %}
Hello {{ firstname }}, how are you?
40
{% with firstname="Tobias" %}
Hello {{ firstname }}, how are you?
41
{% with firstname="Tobias" %}
Hello {{ firstname }}, how are you?
42

Khi chúng tôi đã thiết lập mọi thứ, hãy để chúng tôi chạy quản lý Python. py chạy máy chủ và kiểm tra xem biểu mẫu có trên trang chủ không

Nhập Html vào biến python django

Theo mặc định, mọi biểu mẫu từng được viết bằng HTML đều đưa ra yêu cầu GET ở mặt sau của ứng dụng, yêu cầu GET thường hoạt động bằng cách sử dụng các truy vấn trong URL. Hãy chứng minh điều đó bằng biểu mẫu trên, Điền vào biểu mẫu bằng tên của bạn và hãy kiểm tra xem điều gì sẽ xảy ra

Nhập Html vào biến python django

URL ở trên được nối với thuộc tính tên của thẻ đầu vào và tên được nhập trong biểu mẫu. Đây là cách yêu cầu GET hoạt động bất kể số lượng đầu vào mà chúng sẽ được thêm vào URL để gửi dữ liệu đến mặt sau của ứng dụng. Hãy kiểm tra xem làm thế nào để cuối cùng có được dữ liệu này trong chế độ xem của chúng tôi để logic có thể được áp dụng dựa trên đầu vào.
Trong lượt xem. p

Python3




________ 114 ________ 100 ________ 116 ________ 102

 

{% with firstname="Tobias" %}
Hello {{ firstname }}, how are you?
03

{% with firstname="Tobias" %}
Hello {{ firstname }}, how are you?
04
{% with firstname="Tobias" %}
Hello {{ firstname }}, how are you?
05

{% with firstname="Tobias" %}
Hello {{ firstname }}, how are you?
6
{% with firstname="Tobias" %}
Hello {{ firstname }}, how are you?
51____152

{% with firstname="Tobias" %}
Hello {{ firstname }}, how are you?
6
{% with firstname="Tobias" %}
Hello {{ firstname }}, how are you?
09
{% with firstname="Tobias" %}
Hello {{ firstname }}, how are you?
40
{% with firstname="Tobias" %}
Hello {{ firstname }}, how are you?
41
{% with firstname="Tobias" %}
Hello {{ firstname }}, how are you?
42

Bây giờ khi chúng tôi điền vào biểu mẫu, chúng tôi có thể thấy đầu ra trong thiết bị đầu cuối như bên dưới

Nhập Html vào biến python django

yêu cầu. GET trả về một từ điển truy vấn mà người ta có thể truy cập giống như bất kỳ từ điển python nào khác và cuối cùng sử dụng dữ liệu của nó để áp dụng một số logic.
Tương tự, nếu phương thức truyền là POST, bạn có thể sử dụng request. POST dưới dạng từ điển truy vấn để hiển thị dữ liệu từ biểu mẫu thành dạng xem.

Ở nhà. html

HTML




<form action

{% with firstname="Tobias" %}
Hello {{ firstname }}, how are you?
0
{% with firstname="Tobias" %}
Hello {{ firstname }}, how are you?
1
{% with firstname="Tobias" %}
Hello {{ firstname }}, how are you?
2
{% with firstname="Tobias" %}
Hello {{ firstname }}, how are you?
0
{% with firstname="Tobias" %}
Hello {{ firstname }}, how are you?
65
{% with firstname="Tobias" %}
Hello {{ firstname }}, how are you?
5

{% with firstname="Tobias" %}
Hello {{ firstname }}, how are you?
6
{% with firstname="Tobias" %}
Hello {{ firstname }}, how are you?
68

{% with firstname="Tobias" %}
Hello {{ firstname }}, how are you?
6<form1 form2
{% with firstname="Tobias" %}
Hello {{ firstname }}, how are you?
0form4form5form1
{% with firstname="Tobias" %}
Hello {{ firstname }}, how are you?
5

{% with firstname="Tobias" %}
Hello {{ firstname }}, how are you?
6<action0 action1
{% with firstname="Tobias" %}
Hello {{ firstname }}, how are you?
0form4 action4
{% with firstname="Tobias" %}
Hello {{ firstname }}, how are you?
0action6 action7
{% with firstname="Tobias" %}
Hello {{ firstname }}, how are you?
0form4
{% with firstname="Tobias" %}
Hello {{ firstname }}, how are you?
5

{% with firstname="Tobias" %}
Hello {{ firstname }}, how are you?
6<action0 action4
{% with firstname="Tobias" %}
Hello {{ firstname }}, how are you?
0
{% with firstname="Tobias" %}
Hello {{ firstname }}, how are you?
06
{% with firstname="Tobias" %}
Hello {{ firstname }}, how are you?
07
{% with firstname="Tobias" %}
Hello {{ firstname }}, how are you?
0
{% with firstname="Tobias" %}
Hello {{ firstname }}, how are you?
09
{% with firstname="Tobias" %}
Hello {{ firstname }}, how are you?
5

{% with firstname="Tobias" %}
Hello {{ firstname }}, how are you?
11form
{% with firstname="Tobias" %}
Hello {{ firstname }}, how are you?
5

Lưu ý rằng bất cứ khi nào chúng tôi tạo yêu cầu biểu mẫu, Django đều yêu cầu bạn thêm {% csrf_token %} vào biểu mẫu vì mục đích bảo mật 
Bây giờ, trong chế độ xem. py hãy kiểm tra xem yêu cầu nào. POST đã có.

Python3




________ 114 ________ 100 ________ 116 ________ 102

 

{% with firstname="Tobias" %}
Hello {{ firstname }}, how are you?
03

{% with firstname="Tobias" %}
Hello {{ firstname }}, how are you?
04
{% with firstname="Tobias" %}
Hello {{ firstname }}, how are you?
05

{% with firstname="Tobias" %}
Hello {{ firstname }}, how are you?
6
{% with firstname="Tobias" %}
Hello {{ firstname }}, how are you?
51____843

{% with firstname="Tobias" %}
Hello {{ firstname }}, how are you?
6
{% with firstname="Tobias" %}
Hello {{ firstname }}, how are you?
09
{% with firstname="Tobias" %}
Hello {{ firstname }}, how are you?
40
{% with firstname="Tobias" %}
Hello {{ firstname }}, how are you?
41
{% with firstname="Tobias" %}
Hello {{ firstname }}, how are you?
42

Bây giờ khi chúng tôi gửi biểu mẫu, nó sẽ hiển thị dữ liệu như bên dưới

Nhập Html vào biến python django

Bằng cách này, người ta có thể sử dụng dữ liệu này để truy vấn vào cơ sở dữ liệu hoặc để xử lý bằng cách sử dụng một số thao tác logic và chuyển bằng cách sử dụng từ điển ngữ cảnh cho mẫu

Làm cách nào để lấy dữ liệu từ biểu mẫu HTML ở Django?

Các bước để lưu biểu mẫu HTML và chèn dữ liệu vào cơ sở dữ liệu trong Django .
Tạo một lớp mô hình
Hiểu các loại trường mô hình khác nhau
Thực hiện di chuyển và thiết lập cơ sở dữ liệu
Tạo biểu mẫu để lấy đầu vào của người dùng
Đặt URL và chạy ứng dụng Django

Làm cách nào để gửi biểu mẫu HTML ở Django?

Tạo và gửi biểu mẫu HTML bằng Django – Phần 4 .
Tạo biểu mẫu nhập văn bản
Kết xuất biểu mẫu trong mẫu của bạn
Thực hiện đệ trình biểu mẫu có thể

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

Tôi cần trợ giúp để chuyển dữ liệu từ html này sang html khác .
Trình duyệt yêu cầu một trang
Máy chủ trả về một trang chứa biểu mẫu
Trình duyệt gửi biểu mẫu có dữ liệu
Máy chủ xác thực biểu mẫu và lưu dữ liệu vào cơ sở dữ liệu
Máy chủ chuyển hướng trình duyệt đến một trang khác

Làm cách nào để lấy đầu vào của người dùng trong Django?

Thay vì nhập các thẻ nhập {{ biểu mẫu }} . Chúng tôi cũng thêm {% csrf_token %} mà chúng tôi sẽ thảo luận trong phần tóm tắt Phần 4. Những công cụ của nhà phát triển. Bạn có thể thấy rằng Django tự động hiển thị