gpt4 book ai didi

django-forms - 在 Django 中使用数据网格

转载 作者:行者123 更新时间:2023-12-04 00:48:40 25 4
gpt4 key购买 nike

可以请任何人解释如何在 django 应用程序中使用 datagrid 吗????

最佳答案

您可以使用 djblets 数据网格 为此的模块。

下面概述了显示书籍数据网格的示例应用程序。

dgrid_test/
books/
__init__.py
admin.py
datagrids.py
models.py
urls.py
views.py
books.html


__init__.py
base.html
manage.py
settings.py
urls.py

设置.py 片段:
TEMPLATE_CONTEXT_PROCESSORS = (
'django.contrib.auth.context_processors.auth',
'djblets.siteconfig.context_processors.siteconfig',
'djblets.util.context_processors.settingsVars',
'djblets.util.context_processors.siteRoot',
'djblets.util.context_processors.ajaxSerial',
'djblets.util.context_processors.mediaSerial',
)

TEMPLATE_DIRS = (
'/path/to/dgrid_test'
)

INSTALLED_APPS = (
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.sites',
'django.contrib.messages',
'django.contrib.admin',
'djblets.datagrid',
'djblets.feedview',
'djblets.siteconfig',
'djblets.util',
'djblets.webapi',
'dgrid_test.books'
)

模型.py :
from django.db import models

class Publisher(models.Model):
name = models.CharField(max_length=30)
address = models.CharField(max_length=50)
city = models.CharField(max_length=60)
state_province = models.CharField(max_length=30)
country = models.CharField(max_length=50)
website = models.URLField()
def __str__(self):
return '%s (%s, %s, %s)' % (self.name, self.city, self.state_province, self.country)

class Author(models.Model):
salutation = models.CharField(max_length=10)
first_name = models.CharField(max_length=30)
last_name = models.CharField(max_length=40)
email = models.EmailField()
def __str__(self):
return '%s. %s %s' % (self.salutation, self.first_name, self.last_name)

class Book(models.Model):
name = models.CharField(max_length=100)
authors = models.ManyToManyField(Author)
publisher = models.ForeignKey(Publisher)
publication_date = models.DateField()
def __str__(self):
return '%s %s' % (self.name, self.publication_date)

数据网格.py :
from models import Book
from djblets.datagrid.grids import Column, DataGrid

class BookDataGrid(DataGrid):
name = Column("Name", sortable=True, link=True)
publisher = Column("Publisher", sortable=True, link=True)
publication_date = Column("Publication Date", sortable=True)

def __init__(self, request):
DataGrid.__init__(self, request, queryset=Book.objects.all(), title="Book")
self.default_sort = ['name']
self.default_columns = ['name', 'publisher', 'publication_date']

管理员.py :
from dgrid_test.books.models import Book, Publisher, Author
from django.contrib import admin

admin.site.register(Book)
admin.site.register(Publisher)
admin.site.register(Author)

urls.py :
from django.conf.urls.defaults import *
from django.contrib import admin
admin.autodiscover()

urlpatterns = patterns('',
(r'^books/', include('dgrid_test.books.urls')),
(r'^admin/', include(admin.site.urls)),
)

书籍/urls.py :
from django.conf.urls.defaults import *
from django.conf import settings

urlpatterns = patterns('',
(r'^$', 'books.views.book_list'),
)

书籍/views.py :
from books.datagrids import BookDataGrid

def book_list(request, template_name='books/books.html'):
return BookDataGrid(request).render_to_response(template_name)

base.html :
{% block content %}{% endblock %}

书籍/books.html :
{% extends "datagrid/datagrid.html" %}

还有一些事情要做,比如添加 javascript 和图像,但这应该会给你一个初始的工作版本。

您可能还会发现 tutorial有用。

关于django-forms - 在 Django 中使用数据网格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3059605/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com