cuốn sách gpt4 ai đã làm

Truyền một số tham số trong khung Django Rest

In lại Tác giả: Vũ trụ không gian Thời gian cập nhật: 2023-11-03 16:05:37 25 4
mua khóa gpt4 Nike

我是 DjangoKhung phần còn lại của Django Người mới, tôi đang cố gắng tạo nhiều tuyến để lấy dữ liệu từ cơ sở dữ liệu.

bây giờ trong tôi urls.py Trong tập tin tôi có cái này

bộ định tuyến = bộ định tuyến.DefaultRouter()
router.register(r'cpuProjects', cpuProjectsViewSet, base_name='cpuProjects'),

Cái này trả về cái này

"cpuProjects": "http://127.0.0.1:8000/cpuProjects/"

Có thể làm được điều này không http://127.0.0.1:8000/cpuProjects/ => Quay lại tất cả các mụchttp://127.0.0.1:8000/cpuProjects/ad => Trả về một mục cụ thể.

Theo quan điểm của tôi, tôi có cái này

lớp cpuProjectsViewSet(viewsets.ViewSet):
serializer_class = serializers.cpuProjectsSerializer
#lookup_field = 'tên_dự án'
tra cứu_url_kwarg = 'tên_dự án'

danh sách def (tự, yêu cầu):
all_rows = connect_database()
serializer = serializers.cpuProjectsSerializer(instance=all_rows, many=True)
trả về phản hồi (serializer.data)

def lấy (tự, yêu cầu, project_name=None):
thử:
opc = {'name_proj' : project_name }
all_rows = connect_database(opc)
ngoại trừKeyError:
trả về Phản hồi (trạng thái = trạng thái.HTTP_404_NOT_FOUND)
ngoại trừ ValueError:
trả về Phản hồi (trạng thái = trạng thái.HTTP_400_BAD_REQUEST)
serializer = serializers.cpuProjectsSerializer(instance=all_rows, many=True)
trả về phản hồi (serializer.data)

Bây giờ tôi muốn url của mình chấp nhận một cái gì đó như

http://127.0.0.1:8000/cpuProjects/ad/commentshttp://127.0.0.1:8000/cpuProjects/ad/ussinghttp://127.0.0.1:8000/cpuProjects/ad/process

Đối với điều này tôi đã thêm url mới này

router.register(r'cpuProjects/([a-zA-Z0-9]+)$', cpuProjectsViewSet, base_name='cpuProjects'),

Nhưng bây giờ khi tôi thử điều này

http://127.0.0.1:8000/cpuProjects/ad/ussing

Tôi nhận được "Không tìm thấy trang"

Mình biết URL này phải gọi hàm truy xuất mới lấy được tham số, vậy tại sao lại xảy ra lỗi này?

URL này sẽ không được thực thi với

quá trình tương tự
http://127.0.0.1:8000/cpuProjects/ad 

Cảm ơn trước!

câu trả lời hay nhất

Điều này khác với trước đây của chúng tôi Hỏi đáp Khá giống với những gì được thực hiện trong

từ Rest_framework.designators nhập chi tiết_route, list_route
@detail_route(url_path='(?P[\w-]+)/(?P[\w-]+)')
def get_by_name(self, request, pk=None, slug=None, what=None):
in (sên, cái gì)

Tương tự như vậy, bạn có thể danh sách_route làm điều tương tự

Về python - truyền một số tham số trong khung Django Rest, chúng tôi đã tìm thấy một câu hỏi tương tự trên Stack Overflow: https://stackoverflow.com/questions/39833747/

25 4 0
không gian vũ trụ
Hồ sơ

Tôi là một lập trình viên xuất sắc, rất giỏi!

Nhận phiếu giảm giá taxi Didi miễn phí
Phiếu giảm giá taxi Didi
Chứng chỉ ICP Bắc Kinh số 000000
Hợp tác quảng cáo: 1813099741@qq.com 6ren.com
Xem sitemap của VNExpress