如何将从Django站点收集的数据转换为.csv文件下载。我希望它是这样的,在django admin中有一个按钮,可以将所有数据作为.csv文件下载
这是我的模型:
from django.db import models
class Auto(models.Model):
YNC = (
('N', 'No'),
('Y', 'Yes'),
)
NYC = (
('N', 'No'),
('Y', 'Yes'),
)
NNY = (
('N', 'No'),
('Y', 'Yes'),
)
nw = (
(1, 'Really Bad'),
(1, 'Bad'),
(3, 'Average'),
(4, 'Good'),
(5, 'Really Good'),
)
Team = models.CharField()
Scout = models.CharField()
StartWithCubeLoaded = models.CharField(max_length = 1, choices = YNC, default = 'N')
CrossAutoLine = models.CharField(max_length = 1, choices = YNC, default = 'N')
RobotCrossCenterLine = models.CharField(max_length = 1, choices = YNC, default = 'N')
PlaceCubeInWrongScale = models.CharField(max_length = 1, choices = YNC, default = 'N')
RobotHitOtherAllianceRobotInNullZone = models.CharField(max_length = 1, choices = YNC, default = 'N')
MisPlaceCube = models.CharField(max_length = 1, choices = YNC, default = 'N')
DroppedCubes = models.IntegerField(default = 0)
DoubleStackScale = models.CharField(max_length = 1, choices = NYC, default = 'N')
Foul = models.CharField(max_length = 1, choices = NYC, default = 'N')
KnockedOffCubes = models.IntegerField(default = 0)
MissedCubes = models.IntegerField(default = 0)
Climbed = models.CharField(max_length=1, choices=NNY, default = 'N')
ClimbTime = models.IntegerField(default=0)
Lifted2Robots = models.CharField(max_length=1, choices=NNY, default = 'N')
ProvidedBar = models.CharField(max_length=1, choices=NNY, default = 'N')
ProvidedRamp = models.CharField(max_length=1, choices=NNY, default = 'N')
GrabFieldBar = models.CharField(max_length=1, choices=NNY, default = 'N')
ClimbAttempted = models.CharField(max_length=1, choices=NNY, default = 'N')
GrabRobotBar = models.CharField(max_length=1, choices=NNY, default = 'N')
ClimbRobotRamp = models.CharField(max_length=1, choices=NNY, default = 'N')
NoShow = models.CharField(max_length=1, choices=NNY, default = 'N')
TippedOver = models.CharField(max_length=1, choices=NNY, default = 'N')
Broke = models.CharField(max_length=1, choices=NNY, default = 'N')
TeamWork = models.IntegerField(choices = nw, default = 'Really Bad')
PickingUpCubes = models.IntegerField(choices = nw, default = 'Really Bad')
Driving = models.IntegerField(choices = nw, default = 'Really Bad')
PlacingCubes = models.IntegerField(choices = nw, default = 'Really Bad')
在视图.py公司名称:
^{pr2}$在网址.py公司名称:
from django.conf.urls import url
from django.contrib import admin
from system.views import index, dcsv
urlpatterns = [
url(r'^admin/', admin.site.urls),
url(r'^$', index),
url(r'^$', dcsv),
]
在索引.html公司名称:
<!DOCTYPE html>
<html>
<head>
<!-- UIkit CSS -->
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/uikit/3.0.0-beta.38/css/uikit.min.css" />
<!-- UIkit JS -->
<script src="https://cdnjs.cloudflare.com/ajax/libs/uikit/3.0.0-beta.38/js/uikit.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/uikit/3.0.0-beta.38/js/uikit-icons.min.js"></script>
<link href="https://fonts.googleapis.com/css?family=Abril+Fatface" rel="stylesheet">
<style>
.uk-logo{
font-family: 'Abril Fatface' !important;
color: black !important;
}
.qf{
font-family: 'Abril Fatface' !important;
color: black !important;
}
</style>
</head>
<body>
<nav class="uk-navbar-container uk-margin uk-navbar-transparent" uk-navbar="mode: click">
<div class="uk-navbar-left">
<a class="uk-navbar-item uk-logo" href="#">Nav</a>
<ul class="uk-navbar-nav">
<li class="uk-active"><a class="qf"href="#">Nav</a></li>
<li><a class="qf" href="#">Nav</a></li>
<li><a class="qf"href="#">Nav</a></li>
</ul>
</div>
</nav>
<h1></h1>
<form method="POST" class="post-form">{% csrf_token %}
{{ form.as_p }}
<button type="submit" class="save btn btn-default">Save</button>
</form>
</body>
</html>
我在网上找到了答案,但他们用的是老的django版本。我使用的django版本是1.11。在
创建另一个视图类/函数并将其定义为网址.py并将以下代码放入新的视图函数/类中。
需要在文件顶部导入
from django.http import HttpResponse
在html文件中添加link或button,并通过调用函数使用button在link或change form操作中导航到新的URL。这将开始下载csv文件。在
您似乎对django将url行更改为
^{pr2}$column1,column2,column3只是示例,用字段名替换它们。在
相关问题 更多 >
编程相关推荐