Django 后台带有字典的列表数据与页面js交互实例

1. Introduction

In this article, we will explore how to interact with a list of dictionary data in the Django admin interface and the JavaScript code in a webpage. We will demonstrate this by providing a detailed example. We will assume a basic understanding of Django and JavaScript.

2. Setting up the Django project

First, let's create a new Django project and app:

django-admin startproject backend

cd backend

python manage.py startapp myapp

2.1 Creating the model

We need to define a model to represent the data in the Django admin interface:

# myapp/models.py

from django.db import models

class ListItem(models.Model):

name = models.CharField(max_length=100)

data = models.JSONField()

def __str__(self):

return self.name

Here, we have created a model called "ListItem" with two fields: "name" and "data".

The "data" field is of type JSONField, which allows us to store a dictionary in the database. This will be useful for representing the list of dictionary data we want to work with.

2.2 Registering the model in Django admin

To make the "ListItem" model visible in the Django admin interface, we need to register it in the admin.py file:

# myapp/admin.py

from django.contrib import admin

from .models import ListItem

admin.site.register(ListItem)

Now, if we run the server and visit the Django admin interface, we will see the "ListItem" model listed.

3. Creating the view and template

3.1 View

We will create a simple view to render a template that will display the list of dictionary data and handle the JavaScript interaction. Let's update the views.py file:

# myapp/views.py

from django.shortcuts import render

from .models import ListItem

def my_view(request):

items = ListItem.objects.all() # Get all items

context = {'items': items}

return render(request, 'myapp/my_template.html', context)

3.2 Template

Now, let's create a template called "my_template.html" to display the list of dictionary data:

{% load static %}

My Template

List of Dictionary Data

{% for item in items %}

{{ item.name }}: {{ item.data }}

{% endfor %}

Interaction with JavaScript

Click on an item to perform some action:

In the template, we iterate over the "items" passed from the view and display the "name" and "data" fields of each item.

We also include a hidden input field to store the JSON-encoded list of dictionary data. In the JavaScript section, we retrieve the data using the "my_data" input field and parse it as JSON.

We can now access the list of dictionary data in JavaScript and perform any desired actions with it.

4. Conclusion

In this article, we have demonstrated an example of how to interact with a list of dictionary data in the Django admin interface and the JavaScript code in a webpage. We started by creating a model to represent the data in the admin interface and registered it in Django admin. Then, we created a view and template to display the data and handle the JavaScript interaction. The template included a hidden input field to store the JSON-encoded data, which was then retrieved and parsed in JavaScript. This allowed us to access and manipulate the list of dictionary data in the webpage.+

Note: It's important to note that the code above is just an example and may need to be adapted to fit your specific project requirements.

后端开发标签