Cách gửi dữ liệu từ html sang python django

Tôi cũng mới sử dụng Django. Để làm những gì bạn muốn làm [chuyển các giá trị từ python sang js], tôi đã sử dụng các truy vấn ajax [sử dụng jquery] và sau đó thực hiện một JsonResponse cho lệnh gọi ajax. Cuộc gọi ajax sau đó xử lý dữ liệu theo yêu cầu

class InstructorDeleteView[DeleteView]:
model = Instructor
success_url = reverse_lazy['instructor_list']
template_name = 'class_management/instructor_list.html'

def delete[self, request, *args, **kwargs]:
"""
Calls the delete[] method on the fetched object and then
responds to the call with the relevant data.
"""
self.object = self.get_object[]
pk = self.object.pk # Save the primary key before the object is deleted.
self.object.delete[]
data = {
'message': "Successfully deleted the instructor.",
'pk': pk,
}
return JsonResponse[data]

Sau đó, trong mẫu của bạn, bạn có thể thêm js và có lệnh gọi ajax đến chế độ xem ở trên để nó có thể nhận được JsonResponse

Trong bài viết trước chúng ta đã thấy cách định cấu hình cài đặt mẫu trong django. Trong bài viết này, chúng ta sẽ nói về việc chuyển dữ liệu động sang các mẫu để hiển thị dữ liệu đó. Như chúng ta đã biết django là một MVC framework. Vì vậy, chúng tôi tách logic kinh doanh khỏi logic trình bày. Chúng tôi viết logic nghiệp vụ trong dạng xem và chúng tôi chuyển dữ liệu tới các mẫu để trình bày dữ liệu. Dữ liệu mà chúng tôi chuyển từ chế độ xem sang mẫu thường được gọi là dữ liệu "bối cảnh". Hãy bắt đầu với một ví dụ

Chế độ xem Django, dữ liệu ngữ cảnh và mẫu

Hãy viết một chế độ xem đơn giản lấy thông tin người dùng như tên, họ và địa chỉ và hiển thị thông tin đó trong mẫu

lượt xem. py

from django.shortcuts import render

def user_data[request]:
    context = {
        "first_name": "Anjaneyulu",
        "last_name": "Batta",
        "address": "Hyderabad, India"
    }
    template_name="user_template.html"
    return render[request, template_name, context]

user_template. html



    User Information


First Name: {{first_name }}

Last Name: {{last_name }}

Address: {{address}}

"

from django.shortcuts import render

def user_data[request]:
    context = {
        "first_name": "Anjaneyulu",
        "last_name": "Batta",
        "address": "Hyderabad, India"
    }
    template_name="user_template.html"
    return render[request, template_name, context]
1" là chức năng được sử dụng nhiều nhất trong django. Nó kết hợp một mẫu nhất định với một từ điển ngữ cảnh nhất định và trả về một đối tượng có văn bản được hiển thị đó. Phải mất ba đối số "
from django.shortcuts import render

def user_data[request]:
    context = {
        "first_name": "Anjaneyulu",
        "last_name": "Batta",
        "address": "Hyderabad, India"
    }
    template_name="user_template.html"
    return render[request, template_name, context]
2", "______13" và "
from django.shortcuts import render

def user_data[request]:
    context = {
        "first_name": "Anjaneyulu",
        "last_name": "Batta",
        "address": "Hyderabad, India"
    }
    template_name="user_template.html"
    return render[request, template_name, context]
4" từ điển. Trong mẫu, chúng ta có thể truy cập các khóa chính tả ngữ cảnh dưới dạng tên**hoặc biến** và hiển thị chúng như "
from django.shortcuts import render

def user_data[request]:
    context = {
        "first_name": "Anjaneyulu",
        "last_name": "Batta",
        "address": "Hyderabad, India"
    }
    template_name="user_template.html"
    return render[request, template_name, context]
5". Vậy là xong, mọi người chỉ cần thử đoạn mã trên và cho tôi biết nếu có bất kỳ nhận xét nào

Tôi có ứng dụng Django chứa biểu mẫu mà người dùng có thể chọn "

from django.shortcuts import render

def user_data[request]:
    context = {
        "first_name": "Anjaneyulu",
        "last_name": "Batta",
        "address": "Hyderabad, India"
    }
    template_name="user_template.html"
    return render[request, template_name, context]
6" hoặc "
from django.shortcuts import render

def user_data[request]:
    context = {
        "first_name": "Anjaneyulu",
        "last_name": "Batta",
        "address": "Hyderabad, India"
    }
    template_name="user_template.html"
    return render[request, template_name, context]
7". Vì vậy, những gì tôi đang cố gắng thực hiện là khi người dùng cung cấp đầu vào thông qua radiobutton trong html và nhấp vào "Cập nhật", nó sẽ gửi các giá trị mới [
class ChoiceModel[models.Model]:
    choice1 = models.BooleanField[default=False]
    choice2 = models.BooleanField[default=True]

    def get[self]:
        new_self = self.__class__.objects.get[auto=self.choice1]

        self.__dict__.update[new_self.__dict__]
        return reverse["core:choices", kwargs={"choice1": self.choice1}]
0 và
class ChoiceModel[models.Model]:
    choice1 = models.BooleanField[default=False]
    choice2 = models.BooleanField[default=True]

    def get[self]:
        new_self = self.__class__.objects.get[auto=self.choice1]

        self.__dict__.update[new_self.__dict__]
        return reverse["core:choices", kwargs={"choice1": self.choice1}]
1 là các giá trị Boolean] cho chế độ xem của tôi và in

Những gì tôi có là như sau

lựa chọnThực đơn. html


      Choice1 
      Choice2 
    

Update

kiểu mẫu. py

class ChoiceModel[models.Model]:
    choice1 = models.BooleanField[default=False]
    choice2 = models.BooleanField[default=True]

    def get[self]:
        new_self = self.__class__.objects.get[auto=self.choice1]

        self.__dict__.update[new_self.__dict__]
        return reverse["core:choices", kwargs={"choice1": self.choice1}]

lượt xem. py

class ChoiceMenu[generic.TemplateView]:
    template_name = 'core/choiceMenu.html'
    context_object_name = 'choicemenu'
    current_model_set = ChoiceModel.objects.get[id=1]

    choice1 = int[current_model_set.choice1 == True]
    choice2 = int[current_model_set.choice2 == True]


class ChoiceSetting[generic.TemplateView]:
    extra_context = {"choices_page": "active"}
    context_object_name = 'choices'
    template_name = 'core/choices/choiceindex.html'

    def get[self, queryset=None, **kwargs]:
        choice1 = self.kwargs.get["choice1"]

        logger.info[choice1]  ### 

Chủ Đề