Django tích hợp với Python như thế nào?

Lược đồ URL rõ ràng, trang nhã là một chi tiết quan trọng trong ứng dụng web chất lượng cao. Django khuyến khích thiết kế URL đẹp và không đặt bất kỳ hành trình gian lận nào vào URL, chẳng hạn như. php hoặc. asp

Để thiết kế URL cho một ứng dụng, bạn tạo một mô-đun Python gọi là URLconf. Giống như mục lục cho ứng dụng của bạn, nó chứa ánh xạ đơn giản giữa các mẫu URL và chế độ xem của bạn

Đọc thêm

from django.urls import path

from . import views

urlpatterns = [
    path['bands/', views.band_listing, name='band-list'],
    path['bands//', views.band_detail, name='band-detail'],
    path['bands/search/', views.band_search, name='band-search'],
]
      

from django.shortcuts import render
from bands.models import Band

def band_listing[request]:
    """A view of all bands."""
    bands = Band.objects.all[]
    return render[request, 'bands/band_listing.html', {'bands': bands}]
      

Phần mềm trung gian Django để ghi nhật ký các lệnh gọi API đến đánh vào dịch vụ của riêng bạn hoặc các lệnh gọi API gửi đi cho bên thứ ba và gửi tới Moesif để phân tích và giám sát API

Mã nguồn trên GitHub

SDK này sử dụng thư viện Yêu cầu và sẽ hoạt động cho Python 2. 7 — 3. 10. 4

Cài đặt thế nào

pip install moesifdjango

Cách sử dụng

Trong tệp

MIDDLEWARE = [
    ...
    'django.contrib.sessions.middleware.SessionMiddleware',
    'django.middleware.common.CommonMiddleware',
    'django.contrib.auth.middleware.AuthenticationMiddleware',
    'moesifdjango.middleware.moesif_middleware'
    ...
]
0 của bạn trong thư mục dự án Django của bạn, vui lòng thêm
MIDDLEWARE = [
    ...
    'django.contrib.sessions.middleware.SessionMiddleware',
    'django.middleware.common.CommonMiddleware',
    'django.contrib.auth.middleware.AuthenticationMiddleware',
    'moesifdjango.middleware.moesif_middleware'
    ...
]
1 vào mảng MIDDLEWARE

Do thứ tự thực thi của phần mềm trung gian, tốt nhất là thêm phần mềm trung gian moesifdjango bên dưới SessionMiddleware và AuthenticationMiddleware, vì chúng thêm dữ liệu phiên hữu ích cho phép phân tích lỗi sâu hơn. Mặt khác, nếu bạn có phần mềm trung gian khác đã sửa đổi phản hồi trước khi ra ngoài, bạn có thể chọn đặt phần mềm trung gian Moesif phía trên phản hồi sửa đổi phần mềm trung gian. Điều này cho phép Moesif xem các sửa đổi đối với dữ liệu phản hồi và xem gần hơn những gì đang diễn ra trên dây

Những thay đổi trong Django 1. 10

Kiểu và thiết lập phần mềm trung gian Django đã được cấu trúc lại trong phiên bản 1. 10. Bạn cần nhập đúng phiên bản phần mềm trung gian Moesif tùy thuộc vào phiên bản Django của bạn. Nếu bạn đang sử dụng Django 1. 10 hoặc cao hơn, sử dụng

MIDDLEWARE = [
    ...
    'django.contrib.sessions.middleware.SessionMiddleware',
    'django.middleware.common.CommonMiddleware',
    'django.contrib.auth.middleware.AuthenticationMiddleware',
    'moesifdjango.middleware.moesif_middleware'
    ...
]
1. Tuy nhiên, nếu bạn đang sử dụng Django 1. 9 trở lên, bạn cần tuân theo kiểu kế thừa để nhập phần mềm trung gian và thay vào đó hãy sử dụng
MIDDLEWARE = [
    ...
    'django.contrib.sessions.middleware.SessionMiddleware',
    'django.middleware.common.CommonMiddleware',
    'django.contrib.auth.middleware.AuthenticationMiddleware',
    'moesifdjango.middleware.moesif_middleware'
    ...
]
3

Bạn có thể tìm thấy phiên bản Django hiện tại của mình qua

MIDDLEWARE = [
    ...
    'django.contrib.sessions.middleware.SessionMiddleware',
    'django.middleware.common.CommonMiddleware',
    'django.contrib.auth.middleware.AuthenticationMiddleware',
    'moesifdjango.middleware.moesif_middleware'
    ...
]
4

Django 1. 10 hoặc mới hơn

Thêm phần mềm trung gian vào ứng dụng của bạn

Django 1. 10 đã đổi tên

MIDDLEWARE = [
    ...
    'django.contrib.sessions.middleware.SessionMiddleware',
    'django.middleware.common.CommonMiddleware',
    'django.contrib.auth.middleware.AuthenticationMiddleware',
    'moesifdjango.middleware.moesif_middleware'
    ...
]
5 thành
MIDDLEWARE = [
    ...
    'django.contrib.sessions.middleware.SessionMiddleware',
    'django.middleware.common.CommonMiddleware',
    'django.contrib.auth.middleware.AuthenticationMiddleware',
    'moesifdjango.middleware.moesif_middleware'
    ...
]
6 Nếu bạn đang sử dụng 1. 10 trở lên và vẫn đang sử dụng MIDDLEWARE_CLASSES kế thừa, phần mềm trung gian Moesif sẽ không chạy

MIDDLEWARE = [
    ...
    'django.contrib.sessions.middleware.SessionMiddleware',
    'django.middleware.common.CommonMiddleware',
    'django.contrib.auth.middleware.AuthenticationMiddleware',
    'moesifdjango.middleware.moesif_middleware'
    ...
]

Django 1. 9 tuổi trở lên

Thêm phần mềm trung gian vào ứng dụng của bạn

from django.shortcuts import render
from bands.models import Band

def band_listing[request]:
    """A view of all bands."""
    bands = Band.objects.all[]
    return render[request, 'bands/band_listing.html', {'bands': bands}]
      
1

Ngoài ra, hãy thêm

MIDDLEWARE = [
    ...
    'django.contrib.sessions.middleware.SessionMiddleware',
    'django.middleware.common.CommonMiddleware',
    'django.contrib.auth.middleware.AuthenticationMiddleware',
    'moesifdjango.middleware.moesif_middleware'
    ...
]
7 vào tệp
MIDDLEWARE = [
    ...
    'django.contrib.sessions.middleware.SessionMiddleware',
    'django.middleware.common.CommonMiddleware',
    'django.contrib.auth.middleware.AuthenticationMiddleware',
    'moesifdjango.middleware.moesif_middleware'
    ...
]
0 của bạn,

from django.shortcuts import render
from bands.models import Band

def band_listing[request]:
    """A view of all bands."""
    bands = Band.objects.all[]
    return render[request, 'bands/band_listing.html', {'bands': bands}]
      
4

Id Ứng dụng Moesif của bạn có thể được tìm thấy trong Cổng thông tin Moesif. Sau khi đăng ký tài khoản Moesif, Id Ứng dụng Moesif của bạn sẽ được hiển thị trong các bước giới thiệu

Bạn luôn có thể tìm thấy Id ứng dụng Moesif của mình bất kỳ lúc nào bằng cách đăng nhập vào Cổng thông tin Moesif, nhấp vào hồ sơ người dùng ở dưới cùng bên trái, sau đó nhấp vào Khóa API

Tùy chọn cấu hình

MIDDLEWARE = [
    ...
    'django.contrib.sessions.middleware.SessionMiddleware',
    'django.middleware.common.CommonMiddleware',
    'django.contrib.auth.middleware.AuthenticationMiddleware',
    'moesifdjango.middleware.moesif_middleware'
    ...
]
9

[bắt buộc], chuỗi, được lấy qua Tài khoản Moesif của bạn, điều này là bắt buộc

Các tùy chọn dành riêng cho lệnh gọi API đến

from django.shortcuts import render
from bands.models import Band

def band_listing[request]:
    """A view of all bands."""
    bands = Band.objects.all[]
    return render[request, 'bands/band_listing.html', {'bands': bands}]
      
10

[tùy chọn] [yêu cầu, phản hồi] => boolean, hàm nhận yêu cầu và phản hồi, rồi trả về true nếu bạn muốn bỏ qua sự kiện cụ thể này

from django.shortcuts import render
from bands.models import Band

def band_listing[request]:
    """A view of all bands."""
    bands = Band.objects.all[]
    return render[request, 'bands/band_listing.html', {'bands': bands}]
      
11

[tùy chọn] [yêu cầu, phản hồi] => chuỗi, một hàm nhận yêu cầu và phản hồi, đồng thời trả về một chuỗi là id người dùng được hệ thống của bạn sử dụng. Mặc dù Moesif tự động xác định người dùng và phần mềm trung gian này cố gắng sử dụng yêu cầu Django tiêu chuẩn. người sử dụng. tên người dùng, nếu thiết lập của bạn rất khác so với cách triển khai tiêu chuẩn, sẽ rất hữu ích nếu cung cấp chức năng này

from django.shortcuts import render
from bands.models import Band

def band_listing[request]:
    """A view of all bands."""
    bands = Band.objects.all[]
    return render[request, 'bands/band_listing.html', {'bands': bands}]
      
12

[tùy chọn] [yêu cầu, phản hồi] => chuỗi, một hàm nhận yêu cầu và phản hồi, đồng thời trả về một chuỗi là id công ty cho sự kiện này

from django.shortcuts import render
from bands.models import Band

def band_listing[request]:
    """A view of all bands."""
    bands = Band.objects.all[]
    return render[request, 'bands/band_listing.html', {'bands': bands}]
      
13

[tùy chọn] [yêu cầu, phản hồi] => chuỗi, một hàm nhận yêu cầu và phản hồi, đồng thời trả về một chuỗi là mã thông báo phiên cho sự kiện này. Một lần nữa, Moesif cố gắng lấy mã thông báo phiên tự động, nhưng nếu thiết lập của bạn rất khác so với tiêu chuẩn, chức năng này sẽ rất hữu ích để liên kết các sự kiện lại với nhau và giúp bạn phát lại các sự kiện

from django.shortcuts import render
from bands.models import Band

def band_listing[request]:
    """A view of all bands."""
    bands = Band.objects.all[]
    return render[request, 'bands/band_listing.html', {'bands': bands}]
      
14

[tùy chọn] [yêu cầu, phản hồi] => từ điển, getMetadata là hàm trả về một đối tượng cho phép bạn thêm siêu dữ liệu tùy chỉnh sẽ được liên kết với sự kiện. Siêu dữ liệu phải là một từ điển có thể được chuyển đổi thành JSON. Ví dụ: bạn có thể muốn lưu VM instance_id, Trace_id hoặc tenant_id với yêu cầu

from django.shortcuts import render
from bands.models import Band

def band_listing[request]:
    """A view of all bands."""
    bands = Band.objects.all[]
    return render[request, 'bands/band_listing.html', {'bands': bands}]
      
15

[tùy chọn] boolean, mặc định là True, Đặt thành Sai để xóa phần thân HTTP trước khi gửi tới Moesif. Nếu bạn muốn kiểm soát nhiều hơn đối với trường nào được bao gồm hoặc không được bao gồm, hãy xem phương pháp mặt nạ riêng lẻ bên dưới

from django.shortcuts import render
from bands.models import Band

def band_listing[request]:
    """A view of all bands."""
    bands = Band.objects.all[]
    return render[request, 'bands/band_listing.html', {'bands': bands}]
      
16

[tùy chọn] [EventModel] => EventModel, một hàm lấy một EventModel và trả về một EventModel với dữ liệu mong muốn đã bị xóa. Sử dụng cái này nếu bạn thích viết hàm mặt nạ của riêng mình hơn là sử dụng các tùy chọn bộ lọc dựa trên chuỗi. REQUEST_BODY_MASKS, REQUEST_HEADER_MASKS, RESPONSE_BODY_MASKS và RESPONSE_HEADER_MASKS. Giá trị trả về phải là một EventModel hợp lệ theo yêu cầu của API nhập dữ liệu Moesif. Để biết chi tiết về EventModel, vui lòng xem Moesif Python API Documentation

from django.shortcuts import render
from bands.models import Band

def band_listing[request]:
    """A view of all bands."""
    bands = Band.objects.all[]
    return render[request, 'bands/band_listing.html', {'bands': bands}]
      
17

[tùy chọn] int, mặc định 25, Kích thước lô tối đa khi gửi tới Moesif

from django.shortcuts import render
from bands.models import Band

def band_listing[request]:
    """A view of all bands."""
    bands = Band.objects.all[]
    return render[request, 'bands/band_listing.html', {'bands': bands}]
      
18

[tùy chọn] int, mặc định 10000, Số sự kiện tối đa được giữ trong hàng đợi trước khi gửi tới Moesif. Trong trường hợp mạng gặp sự cố khi không thể kết nối/gửi sự kiện tới Moesif, bỏ qua việc thêm sự kiện mới vào hàng đợi để tránh tràn bộ nhớ

from django.shortcuts import render
from bands.models import Band

def band_listing[request]:
    """A view of all bands."""
    bands = Band.objects.all[]
    return render[request, 'bands/band_listing.html', {'bands': bands}]
      
19

[tùy chọn] chuỗi, Tên trường tiêu đề yêu cầu được sử dụng để xác định Người dùng trong Moesif. Giá trị mặc định là

from django.shortcuts import render
from bands.models import Band

def band_listing[request]:
    """A view of all bands."""
    bands = Band.objects.all[]
    return render[request, 'bands/band_listing.html', {'bands': bands}]
      
40. Ngoài ra, hỗ trợ một chuỗi được phân tách bằng dấu phẩy. Chúng tôi sẽ kiểm tra các tiêu đề theo thứ tự như
from django.shortcuts import render
from bands.models import Band

def band_listing[request]:
    """A view of all bands."""
    bands = Band.objects.all[]
    return render[request, 'bands/band_listing.html', {'bands': bands}]
      
41

from django.shortcuts import render
from bands.models import Band

def band_listing[request]:
    """A view of all bands."""
    bands = Band.objects.all[]
    return render[request, 'bands/band_listing.html', {'bands': bands}]
      
42

[tùy chọn] chuỗi, Tên trường được sử dụng để phân tích cú pháp Người dùng từ tiêu đề ủy quyền trong Moesif. Giá trị mặc định là

from django.shortcuts import render
from bands.models import Band

def band_listing[request]:
    """A view of all bands."""
    bands = Band.objects.all[]
    return render[request, 'bands/band_listing.html', {'bands': bands}]
      
43

from django.shortcuts import render
from bands.models import Band

def band_listing[request]:
    """A view of all bands."""
    bands = Band.objects.all[]
    return render[request, 'bands/band_listing.html', {'bands': bands}]
      
44

[tùy chọn] chuỗi, Tên máy chủ proxy cục bộ khi gửi lưu lượng truy cập qua proxy an toàn. Vui lòng đặt trường này khi sử dụng proxy bảo mật. Để biết thêm chi tiết, hãy tham khảo tài liệu proxy an toàn

Các tùy chọn dành riêng cho lệnh gọi API đi

Các tùy chọn bên dưới có thể áp dụng cho các lệnh gọi API gửi đi [các cuộc gọi bạn bắt đầu bằng lib Yêu cầu Python cho các bên thứ ba như Stripe hoặc cho các dịch vụ của riêng bạn

Đối với các tùy chọn sử dụng yêu cầu và phản hồi làm đối số đầu vào, các tùy chọn này sử dụng các đối tượng phản hồi hoặc yêu cầu của lib Yêu cầu

Nếu bạn không sử dụng Django, bạn có thể nhập trực tiếp moesifpythonrequest

from django.shortcuts import render
from bands.models import Band

def band_listing[request]:
    """A view of all bands."""
    bands = Band.objects.all[]
    return render[request, 'bands/band_listing.html', {'bands': bands}]
      
45

boolean, Mặc định Sai. Đặt thành True để nắm bắt tất cả lệnh gọi API đi. Sai sẽ tắt chức năng này

from django.shortcuts import render
from bands.models import Band

def band_listing[request]:
    """A view of all bands."""
    bands = Band.objects.all[]
    return render[request, 'bands/band_listing.html', {'bands': bands}]
      
46

[tùy chọn] [req, res] => từ điển, một chức năng cho phép bạn trả về siêu dữ liệu tùy chỉnh được liên kết với lệnh gọi API đã ghi. Lấy đối tượng yêu cầu và phản hồi Yêu cầu làm đối số. Bạn nên triển khai một hàm trả về từ điển chứa siêu dữ liệu tùy chỉnh của bạn. [phải có khả năng được mã hóa thành JSON]. Ví dụ: bạn có thể muốn lưu một VM instance_id, một trace_id hoặc một resource_id với yêu cầu

from django.shortcuts import render
from bands.models import Band

def band_listing[request]:
    """A view of all bands."""
    bands = Band.objects.all[]
    return render[request, 'bands/band_listing.html', {'bands': bands}]
      
47

[tùy chọn] [req, res] => boolean, một hàm nhận yêu cầu và phản hồi Yêu cầu và trả về true nếu bạn muốn bỏ qua sự kiện cụ thể này

from django.shortcuts import render
from bands.models import Band

def band_listing[request]:
    """A view of all bands."""
    bands = Band.objects.all[]
    return render[request, 'bands/band_listing.html', {'bands': bands}]
      
48

[tùy chọn, nhưng rất khuyến khích] [req, res] => chuỗi, một hàm nhận yêu cầu và phản hồi Yêu cầu, đồng thời trả về một chuỗi là id người dùng được hệ thống của bạn sử dụng. Mặc dù Moesif cố gắng tự động xác định người dùng, nhưng các khung khác nhau và cách triển khai của bạn có thể rất khác, nên việc cung cấp chức năng này sẽ hữu ích và chính xác hơn nhiều

from django.shortcuts import render
from bands.models import Band

def band_listing[request]:
    """A view of all bands."""
    bands = Band.objects.all[]
    return render[request, 'bands/band_listing.html', {'bands': bands}]
      
49

[tùy chọn] [req, res] => chuỗi, một hàm nhận yêu cầu Yêu cầu và phản hồi, đồng thời trả về một chuỗi là id công ty cho sự kiện này

MIDDLEWARE = [
    ...
    'django.contrib.sessions.middleware.SessionMiddleware',
    'django.middleware.common.CommonMiddleware',
    'django.contrib.auth.middleware.AuthenticationMiddleware',
    'moesifdjango.middleware.moesif_middleware'
    ...
]
60

[tùy chọn] [req, res] => chuỗi, một hàm nhận yêu cầu Yêu cầu và phản hồi, đồng thời trả về một chuỗi là mã thông báo phiên cho sự kiện này. Một lần nữa, Moesif cố gắng lấy mã thông báo phiên tự động, nhưng nếu thiết lập của bạn rất khác so với tiêu chuẩn, chức năng này sẽ rất hữu ích để liên kết các sự kiện lại với nhau và giúp bạn phát lại các sự kiện

tùy chọn chung

MIDDLEWARE = [
    ...
    'django.contrib.sessions.middleware.SessionMiddleware',
    'django.middleware.common.CommonMiddleware',
    'django.contrib.auth.middleware.AuthenticationMiddleware',
    'moesifdjango.middleware.moesif_middleware'
    ...
]
61

[tùy chọn] boolean, mặc định là True, Đặt thành False để xóa nội dung phản hồi và yêu cầu ghi nhật ký

MIDDLEWARE = [
    ...
    'django.contrib.sessions.middleware.SessionMiddleware',
    'django.middleware.common.CommonMiddleware',
    'django.contrib.auth.middleware.AuthenticationMiddleware',
    'moesifdjango.middleware.moesif_middleware'
    ...
]
62

boolean, đặt thành True để in thông báo nhật ký nội bộ nhằm gỡ lỗi các sự cố tích hợp SDK

Thí dụ

Một ví dụ chi tiết hơn có sẵn tại https. //github. com/Moesif/moesifdjangoexample

MIDDLEWARE = [
    ...
    'django.contrib.sessions.middleware.SessionMiddleware',
    'django.middleware.common.CommonMiddleware',
    'django.contrib.auth.middleware.AuthenticationMiddleware',
    'moesifdjango.middleware.moesif_middleware'
    ...
]
6

Cập nhật người dùng

Cập nhật một người dùng

Tạo hoặc cập nhật hồ sơ người dùng trong Moesif. Trường siêu dữ liệu có thể là bất kỳ thông tin nhân khẩu học nào của khách hàng hoặc thông tin khác mà bạn muốn lưu trữ. Chỉ có trường

MIDDLEWARE = [
    ...
    'django.contrib.sessions.middleware.SessionMiddleware',
    'django.middleware.common.CommonMiddleware',
    'django.contrib.auth.middleware.AuthenticationMiddleware',
    'moesifdjango.middleware.moesif_middleware'
    ...
]
63 là bắt buộc. Phương pháp này là một trình trợ giúp thuận tiện gọi Moesif API lib. Để biết chi tiết, hãy truy cập Tham khảo API Python

MIDDLEWARE = [
    ...
    'django.contrib.sessions.middleware.SessionMiddleware',
    'django.middleware.common.CommonMiddleware',
    'django.contrib.auth.middleware.AuthenticationMiddleware',
    'moesifdjango.middleware.moesif_middleware'
    ...
]
1

Cập nhật hàng loạt người dùng

Tương tự như update_user, nhưng được sử dụng để cập nhật danh sách người dùng trong một đợt. Chỉ có trường

MIDDLEWARE = [
    ...
    'django.contrib.sessions.middleware.SessionMiddleware',
    'django.middleware.common.CommonMiddleware',
    'django.contrib.auth.middleware.AuthenticationMiddleware',
    'moesifdjango.middleware.moesif_middleware'
    ...
]
63 là bắt buộc. Phương pháp này là một trình trợ giúp thuận tiện gọi Moesif API lib. Để biết chi tiết, hãy truy cập Tham khảo API Python

MIDDLEWARE = [
    ...
    'django.contrib.sessions.middleware.SessionMiddleware',
    'django.middleware.common.CommonMiddleware',
    'django.contrib.auth.middleware.AuthenticationMiddleware',
    'moesifdjango.middleware.moesif_middleware'
    ...
]
3

Cập nhật công ty

Cập nhật một công ty duy nhất

Tạo hoặc cập nhật hồ sơ công ty trong Moesif. Trường siêu dữ liệu có thể là bất kỳ thông tin nhân khẩu học nào của công ty hoặc thông tin khác mà bạn muốn lưu trữ. Chỉ có trường

MIDDLEWARE = [
    ...
    'django.contrib.sessions.middleware.SessionMiddleware',
    'django.middleware.common.CommonMiddleware',
    'django.contrib.auth.middleware.AuthenticationMiddleware',
    'moesifdjango.middleware.moesif_middleware'
    ...
]
65 là bắt buộc. Phương pháp này là một trình trợ giúp thuận tiện gọi Moesif API lib. Để biết chi tiết, hãy truy cập Tham khảo API Python

MIDDLEWARE = [
    ...
    'django.contrib.sessions.middleware.SessionMiddleware',
    'django.middleware.common.CommonMiddleware',
    'django.contrib.auth.middleware.AuthenticationMiddleware',
    'moesifdjango.middleware.moesif_middleware'
    ...
]
5

Cập nhật hàng loạt công ty

Tương tự như update_company, nhưng được sử dụng để cập nhật danh sách các công ty trong một đợt. Chỉ có trường

MIDDLEWARE = [
    ...
    'django.contrib.sessions.middleware.SessionMiddleware',
    'django.middleware.common.CommonMiddleware',
    'django.contrib.auth.middleware.AuthenticationMiddleware',
    'moesifdjango.middleware.moesif_middleware'
    ...
]
65 là bắt buộc. Phương pháp này là một trình trợ giúp thuận tiện gọi Moesif API lib. Để biết chi tiết, hãy truy cập Tham khảo API Python

MIDDLEWARE = [
    ...
    'django.contrib.sessions.middleware.SessionMiddleware',
    'django.middleware.common.CommonMiddleware',
    'django.contrib.auth.middleware.AuthenticationMiddleware',
    'moesifdjango.middleware.moesif_middleware'
    ...
]
7

Phiên bản thử nghiệm

Moesif đã xác thực moesifdjango dựa trên các kết hợp sau

PythonDjangoPython 2. 71. 11. 22Trăn 2. 71. 11. 22Trăn 2. 71. 9Trăn 3. 4. 51. 11. 22Trăn 3. 4. 51. 11. 22Trăn 3. 4. 51. 9Trăn 3. 6. 41. 11. 22Trăn 3. 6. 41. 11. 22Trăn 3. 6. 41. 9Trăn 3. 10. 43. 2. 13 LTSPython 3. 10. 44. 0. 5

Xử lý sự cố

Khi sử dụng Docker với hình ảnh dựa trên Ubuntu, nếu các sự kiện không được ghi lại, có thể là do hình ảnh không thể tìm thấy bất kỳ cấu hình múi giờ nào. Để giải quyết vấn đề đó, hãy thêm dòng sau vào Dockerfile của bạn

MIDDLEWARE = [
    ...
    'django.contrib.sessions.middleware.SessionMiddleware',
    'django.middleware.common.CommonMiddleware',
    'django.contrib.auth.middleware.AuthenticationMiddleware',
    'moesifdjango.middleware.moesif_middleware'
    ...
]
8

hoặc bạn có thể thêm

MIDDLEWARE = [
    ...
    'django.contrib.sessions.middleware.SessionMiddleware',
    'django.middleware.common.CommonMiddleware',
    'django.contrib.auth.middleware.AuthenticationMiddleware',
    'moesifdjango.middleware.moesif_middleware'
    ...
]
67 vào Dockerfile

Làm thế nào để kiểm tra

  1. Sao chép thủ công repo git
  2. Gọi
    MIDDLEWARE = [
        ...
        'django.contrib.sessions.middleware.SessionMiddleware',
        'django.middleware.common.CommonMiddleware',
        'django.contrib.auth.middleware.AuthenticationMiddleware',
        'moesifdjango.middleware.moesif_middleware'
        ...
    ]
    
    68 nếu bạn chưa làm như vậy
  3. Gọi
    MIDDLEWARE = [
        ...
        'django.contrib.sessions.middleware.SessionMiddleware',
        'django.middleware.common.CommonMiddleware',
        'django.contrib.auth.middleware.AuthenticationMiddleware',
        'moesifdjango.middleware.moesif_middleware'
        ...
    ]
    
    69
  4. Thêm id ứng dụng của riêng bạn vào 'kiểm tra/cài đặt. py'. Bạn có thể tìm thấy Id ứng dụng của mình từ Bảng điều khiển Moesif -> Hồ sơ người dùng dưới cùng bên trái -> Khóa API
  5. Từ terminal/cmd điều hướng đến thư mục gốc của các bài kiểm tra phần mềm trung gian
  6. Gọi
    MIDDLEWARE = [
        ...
        'django.contrib.sessions.middleware.SessionMiddleware',
        'django.middleware.common.CommonMiddleware',
        'django.contrib.auth.middleware.AuthenticationMiddleware',
        'moesifdjango.middleware.moesif_middleware'
        ...
    ]
    
    10 nếu bạn đang sử dụng Django 1. 10 hoặc mới hơn
  7. Gọi
    MIDDLEWARE = [
        ...
        'django.contrib.sessions.middleware.SessionMiddleware',
        'django.middleware.common.CommonMiddleware',
        'django.contrib.auth.middleware.AuthenticationMiddleware',
        'moesifdjango.middleware.moesif_middleware'
        ...
    ]
    
    11 nếu bạn đang sử dụng Django 1. 9 tuổi trở lên

Thí dụ

Một ví dụ tích hợp Moesif dựa trên hướng dẫn bắt đầu nhanh của Django và Django Rest Framework. Ví dụ Moesif Django

Tích hợp khác

Để xem thêm tài liệu về các tùy chọn tích hợp, vui lòng truy cập Tài liệu Tùy chọn Tích hợp

Django kết nối với Python như thế nào?

Sử dụng bảng điều khiển dành cho quản trị viên Django .
Tạo siêu người dùng. Bạn sẽ được nhắc nhập tên người dùng, email và mật khẩu. quản lý trăn. py tạo siêu người dùng
Bắt đầu một máy chủ web cục bộ. quản lý trăn. máy chủ py
Đăng nhập vào trang quản trị bằng tên người dùng và mật khẩu bạn đã sử dụng khi chạy createsuperuser

Django có tương thích với Python không?

Django yêu cầu Python . Xem bảng trong câu hỏi tiếp theo để biết các phiên bản Python hoạt động với từng phiên bản Django. Các thư viện Python khác có thể được yêu cầu đối với một số trường hợp sử dụng, nhưng bạn sẽ nhận được thông báo lỗi về chúng khi cần.

Chủ Đề