利用EXCL的数据 进行一个饼状的分析图 直接了当的看出在市场的份额的占比多少
承接第一天的内容和开发环境 以及目录
在settings.py 中 加入
INSTALLED_APPS = [
‘ch01.apps.Ch01Config’,
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
]
LANGUAGE_CODE = ‘zh-hans’
TIME_ZONE = ‘Asia/Shanghai’
USE_I18N = True
USE_L10N = True
USE_TZ = False
静态目录可以配置多个
shezhi jingdt wenjiand e sousuo路径
STATICFILES_DIRS = (
os.path.join(BASE_DIR, “static”),
os.path.join(BASE_DIR, “ch01/static”),
)
访问静态文件的URL前缀
STATIC_ROOT = os.path.join(BASE_DIR, ‘collected_static’)
在urls.py
from django.contrib import admin
from django.urls import path,include
urlpatterns = [
path(‘admin/’, admin.site.urls),
path(‘ch01/’, include(‘ch01.urls’)),
]
在CH01的目录下views.py中 加入新的函数
导入一个包
from openpyxl import *
def excel_to_list():
fo = load_workbook(“g:/toscrape/djangosample/ch01/hrexcel.xlsx”)
sheet = fo[“emp”]
heand = None
list_sheet = []
for index, row in enumerate(sheet.rows):
if index == 0:
heand = [c.value.lower() for c in row]
else:
heand[0] = “ListA”
heand[1] = “ListB”
list_sheet.append(dict(dict(zip(heand, [c.value for c in row]))))
fo.close()
return list_sheet
其中这里 将EXCL数据的表头进行了替换 大家在EXCL中输入的表头都是不一样的 ,因为在HTML中 将这表头进行固定
/hrexcel.xlsx的数据类容如下:进行参考
同文件下 在加入这段代码 代码之前 导入这个包 import json
def excl_tb(request):
data_pjntest = excel_to_list();
return render(request, ‘ch01/tb.html’, {‘data’: json.dumps(data_pjntest), “aa”: “展示的内容”})
如图
在urls.py 加入如下代码
path(‘tb’, ch01.views.excl_tb),
G
在testch01中 新建tb.html文件 代码如下
关键代码 chart.data = {{ data|safe }};
Title
到此结束了 现在可以打开网站看看
http://127.0.0.1:8000/ch01/tb
就可以看到以下图
小伙伴门 是不是很酷啊
amCharts
<tbody id="ip_talbebody">
{% for item in data %}
<tr>
<td> {{ forloop.counter }}</td>
<td>{{ item.ListB }}</td>
<td>{{ item.ListA }}</td>
</tr>
{% endfor %}
</tbody>
<p>zheli</p>