Mệnh Đề If Trong Django

125 lượt xem Django
If Tag Trong Django

Mệnh Đề IF

Câu lệnh if đánh giá một biến và thực thi một khối mã nếu giá trị là true.

Example

{% if greeting == 1 %}
  <h1>Hello</h1>
{% endif %}

Elif

Từ khóa elif cho biết “nếu các điều kiện trước đó không đúng, thì hãy thử điều kiện này”.

Example

{% if greeting == 1 %}
  <h1>Hello</h1>
{% elif greeting == 2 %}
  <h1>Welcome</h1>
{% endif %}

Else

Từ khóa else bắt bất kỳ thứ gì không bị bắt bởi các điều kiện trước.

Example

{% if greeting == 1 %}
  <h1>Hello</h1>
{% elif greeting == 2 %}
  <h1>Welcome</h1>
{% else %}
  <h1>Goodbye</h1>
{% endif %}

Toán Tử

Các ví dụ trên sử dụng toán tử ==, được sử dụng để kiểm tra xem một biến có bằng một giá trị hay không, nhưng có nhiều toán tử khác mà bạn có thể sử dụng hoặc thậm chí bạn có thể bỏ toán tử nếu bạn chỉ muốn kiểm tra xem một biến có không trống:

Example

{% if greeting %}
  <h1>Hello</h1>
{% endif %}

==

Bằng.

Example

{% if greeting == 2 %}
  <h1>Hello</h1>
{% endif %}

! =

Không bằng.

Example

{% if greeting != 1 %}
  <h1>Hello</h1>
{% endif %}

<

Ít hơn.

Example

{% if greeting < 3 %}
  <h1>Hello</h1>
{% endif %}

<=

Nhỏ hơn, hoặc bằng.

Example

{% if greeting <= 3 %}
  <h1>Hello</h1>
{% endif %}

>

Là lớn hơn.

Example

{% if greeting > 1 %}
  <h1>Hello</h1>
{% endif %}

>=

Là lớn hơn hoặc bằng.

Example

{% if greeting >= 1 %}
  <h1>Hello</h1>
{% endif %}

Để kiểm tra xem có nhiều hơn một điều kiện là đúng hay không.

Example

{% if greeting == 1 and day == "Friday" %}
  <h1>Hello Weekend!</h1>
{% endif %}

hoặc

Để kiểm tra xem một trong các điều kiện có đúng không.

Example

{% if greeting == 1 or greeting == 5 %}
  <h1>Hello</h1>
{% endif %}

và / hoặc

Kết hợp and và or.

Example

{% if greeting == 1 and day == "Friday" or greeting == 5 %}

Dấu ngoặc đơn không được phép trong câu lệnh if trong Django, vì vậy khi bạn kết hợp các toán tử and và or, điều quan trọng là phải biết rằng dấu ngoặc đơn được thêm vào cho and nhưng không phải cho hoặ or

Có nghĩa là ví dụ trên được trình thông dịch đọc như thế này:

{% if (greeting == 1 and day == "Friday") or greeting == 5 %}

Trong

Để kiểm tra xem một mục nhất định có trong một đối tượng hay không.

Example

{% if 'Banana' in fruits %}
  <h1>Hello</h1>
{% else %}
  <h1>Goodbye</h1>
{% endif %}

không có trong

Để kiểm tra xem một mục nào đó không có trong một đối tượng.

Example

{% if 'Banana' not in fruits %}
  <h1>Hello</h1>
{% else %}
  <h1>Goodbye</h1>
{% endif %}

is

Kiểm tra xem hai đối tượng có giống nhau không.

Toán tử này khác với toán tử ==, bởi vì toán tử == kiểm tra giá trị của hai đối tượng, nhưng toán tử is kiểm tra danh tính của hai đối tượng.

Trong khung nhìn, chúng ta có hai đối tượng, x và y, có cùng giá trị:

Example

views.py:

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

def testing(request):
  template = loader.get_template('template.html')
  context = {
    'x': ['Apple', 'Banana', 'Cherry'], 
    'y': ['Apple', 'Banana', 'Cherry'], 
  }
  return HttpResponse(template.render(context, request))

Hai đối tượng có cùng giá trị, nhưng nó có phải là cùng một đối tượng không?

Example

{% if x is y %}
  <h1>YES</h1>
{% else %}
  <h1>NO</h1>
{% endif %}

Thay vào đó, hãy thử cùng một ví dụ với toán tử ==:

Example

{% if x == y %}
  <h1>YES</h1>
{% else %}
  <h1>NO</h1>
{% endif %}

Làm thế nào để hai đối tượng có thể giống nhau? Chà, nếu bạn có hai đối tượng trỏ đến cùng một đối tượng, thì toán tử is được đánh giá là true:

Chúng tôi sẽ chứng minh điều này bằng cách sử dụng thẻ {% with%}, cho phép chúng tôi tạo các biến trong mẫu:

Example

{% with var1=x var2=x %}
  {% if var1 == var2 %}
    <h1>YES</h1>
  {% else %}
    <h1>NO</h1>
  {% endif %}
{% endwith %}

không phải

Để kiểm tra xem hai đối tượng không giống nhau.

Example

{% if x is not y %}
  <h1>YES</h1>
{% else %}
  <h1>NO</h1>
{% endif %}

 

Leave a Reply

Your email address will not be published. Required fields are marked *

PHP Code Snippets Powered By : XYZScripts.com
.
.
.
.