Computer >> Máy Tính >  >> Lập trình >> Python

Tạo các thẻ bộ lọc tùy chỉnh của riêng bạn trong Django

Bộ lọc thực sự rất hữu ích, có rất nhiều bộ lọc tích hợp sẵn trong Django. Chúng tôi cũng có thể tạo bộ lọc của riêng mình trong Django mà chúng tôi có thể sử dụng trong các dự án Django trong bất kỳ tệp mẫu nào. Bộ lọc được sử dụng theo nhiều cách như tạo chữ thường thành chữ hoa trong HTML.

Trong bài viết này, chúng ta sẽ xem cách tạo thẻ lọc mẫu tùy chỉnh trongDjango. Vì vậy, hãy bắt đầu.

Ví dụ

Trước hết, hãy tạo một dự án Django và một ứng dụng.

Thêm mẫu thẻ tạm thời thư mục trong dự án gốc ứng dụng của bạn. Cấu trúc dự án sẽ giống như thế này -

Tạo các thẻ bộ lọc tùy chỉnh của riêng bạn trong Django

ví dụ là ứng dụng và hướng dẫn của chúng tôi là dự án của chúng tôi.

Đảm bảo TEMPLATES của bạn biến trong settings.py trông như thế này -

 import osTEMPLATES =[{'BACKEND':'django.template.backends.django.DjangoTemplates', 'DIRS':[os.path.join (BASE_DIR, 'example / templates')], 'APP_DIRS':Đúng , 'TÙY CHỌN':{'context_processors':['django.template.context_processors.debug', 'django.template.context_processors.request', 'django.contrib.auth.context_processors.auth', 'django.contrib.contrib.auth'. context_processors.messages ',],},},] 

Thêm "ví dụ" thành INSTALLED_APPS biến của settings.py . Nó chỉ thiết lập mẫu thư mục.

Trong mẫu thư mục, thêm một home.html và để nó như vậy ngay bây giờ.

Trong views.py trong tổng số ví dụ , thêm các dòng sau -

 from django.shortcuts import render # Tạo dạng xem của bạn tại đây.def main (request):return render (request, "home.html") 

Ở đây, chúng tôi chỉ hiển thị giao diện người dùng chính của chúng tôi trong chế độ xem chính.

Trong urls.py của dự án, thêm các dòng sau -

 from django.contrib import adminfrom django.urls import path, includeurlpatterns =[path ('', include ('example.urls')), path ('admin /', admin.site.urls),]  

Ở đây, chúng tôi đã bao gồm các ứng dụng của mình urls.py trong các url chính.

Trong urls.py trong tổng số ví dụ hoặc ứng dụng, hãy thêm phần sau -

 từ đường dẫn nhập django.urls, includeefrom. import viewsurlpatterns =[path ('', views.main, name ="main")] 

Nó thiết lập đường dẫn cơ bản urls và hiển thị chế độ xem chính của chúng tôi.

Tạo __init__.py trong thẻ tạm thời thư mục và tệp bộ lọc có tên "upperfilter.py" . Thêm mã sau vào đó -

 from django.template import Libraryregister=Library()@register.filterdef upper (value):return value.upper () 

Ở đây, chúng tôi đã nhập một Thư viện và đăng ký nó. Chúng tôi đã tạo một hàm hoặc có thể nói một bộ lọc có tên trên và chúng tôi đã đăng ký nó bằng cách sử dụng decorator. Mỗi bộ lọc nhận một số giá trị; chúng tôi có thể xác định số lượng giá trị mà nó có thể nhận.

Quay lại home.html của bạn và thêm -

     Tut    {% load upperfilter%} 

{{"chào các bạn, bạn khỏe không" | trên}}

Ở đây trên giao diện người dùng, chúng tôi đã tải bộ lọc của mình bằng {%%}, sau đó trong

, chúng tôi đã sử dụng bộ lọc.

Bộ lọc này sẽ chuyển đổi chữ thường thành chữ hoa.

Đầu ra

Không có bộ lọc -

Tạo các thẻ bộ lọc tùy chỉnh của riêng bạn trong Django

Với bộ lọc -

Tạo các thẻ bộ lọc tùy chỉnh của riêng bạn trong Django