我在Django Chartit
的项目中遇到Ubuntu 15.04
的重要问题。
我有两个项目:
我正在 OSX开发我的Django网站作为开发平台。
我在一个 Ubuntu服务器上发送我的Django项目,当它运行owith OSX以进行一些测试时。 Ubuntu将是我的项目最终使用的操作系统。 Ubuntu部分看起来像我的产品平台。
所以,我正在使用Django-chartit来显示一些图形,......它可以和OSX一起使用。
但是当我将我的项目复制到Ubuntu时,我根据操作系统改变了路径,...我的网站上没有显示图表。
我使用python wsgi/apache2
和Ubuntu来显示我的Django网站。
这就是我所拥有的:
文件1:apache2.conf
Alias /static/ /var/www/html/Etat_civil/static/Theme/
<Directory /var/www/html/Etat_civil/static/Theme/>
Require all granted
</Directory>
<Directory />
Options FollowSymLinks
AllowOverride None
Require all denied
</Directory>
<Directory /usr/share>
AllowOverride None
Require all granted
</Directory>
WSGIScriptAlias / /var/www/html/Etat_civil/Etat_civil/wsgi.py
WSGIPythonPath /var/www/html/Etat_civil
<Directory /var/www/html/Etat_civil/Etat_civil>
<Files wsgi.py>
Options Indexes FollowSymLinks
Require all granted
SetEnvIfNoCase Host .+ VALID_HOST
Order Deny,Allow
Deny from All
Allow from env=VALID_HOST
</Files>
</Directory>
#<Directory /srv/>
# Options Indexes FollowSymLinks
# AllowOverride None
# Require all granted
#</Directory>
LoadModule wsgi_module /usr/lib/apache2/modules/mod_wsgi.so
文件2:我的Django项目
我的Django项目中有一些应用程序:
路径: / var / www / html / Etat_civil /
应用程序: Accueil,BirthCertificate,...,static,templates
静态目录: / var / www / html / Etat_civil / static / Theme / Datasystems或Cameroun / js /
文件3:查看创建图表的功能
在我的应用程序Identity中,我有一个创建3个图表的功能:
def Chartview(request) :
#Step 1: Create a DataPool with the data we want to retrieve.
weatherdata = \
DataPool(
series=
[{'options': {
'source': Person.objects.values('city').annotate(nombre = Count('city'))},
'terms': [
'city',
'nombre']}
])
#Step 2: Create the Chart object
cht = Chart(
datasource = weatherdata,
series_options =
[{'options':{
'type': 'pie',
'stacking': False},
'terms':{
'city': [
'nombre']
}}],
chart_options =
{'title': {
'text': "Nombre d'habitant par ville"},
'xAxis': {
'title': {
'text': 'Villes'}}})
ds = \
DataPool(
series=
[{'options': {
'source': Person.objects.values('birthcountry').annotate(nombre = Count('birthcountry'))},
'terms': [
'birthcountry',
'nombre']}
])
#Step 2: Create the Chart object
cht2 = Chart(
datasource = ds,
series_options =
[{'options':{
'type': 'pie',
'stacking': False},
'terms':{
'birthcountry': [
'nombre']
}}],
chart_options =
{'title': {
'text': "Proportion des Pays de Naissance"},
'xAxis': {
'title': {
'text': 'Pays de Naissance'}}})
ds2 = \
DataPool(
series=
[{'options': {
'source': Person.objects.values('sex').annotate(nombre = Count('sex'))},
'terms': [
'sex',
'nombre']}
])
#Step 2: Create the Chart object
cht3 = Chart(
datasource = ds2,
series_options =
[{'options':{
'type': 'column',
'stacking': False},
'terms':{
'sex': [
'nombre']
}}],
chart_options =
{'title': {
'text': "Nombre Homme/Femme"},
'xAxis': {
'title': {
'text': 'Sexe'}}})
return render(request, 'statistics.html', {'charts': [cht, cht2, cht3],})
我有一个模板文件:
{% extends 'Base_Identity.html' %}
{% load staticfiles %}
{% load static %}
{% block title %}
<h2 align="center"> Statistiques </align> </h2>
{% endblock %}
<br></br>
{% block content %}
{% block javascript %}
<script src="{% static 'Datasystems/js/jquery-3.1.1.js' %}" type="text/javascript"></script>
<script src="{% static 'Datasystems/js/highcharts/highcharts.js' %}" type="text/javascript"></script>
{% endblock %}
{% load chartit %}
{{ charts|load_charts:"cht, cht2, cht3" }}
<div class="col-md-5">
<div id="cht"> TEST </div>
</div>
<div class="col-md-5">
<div id="cht2"></div>
</div>
<div class="container-fluid">
<div class="row">
<div class="col-md-10">
<br></br>
</div>
</div>
</div>
<div class="container-fluid">
<div class="row">
<div class="col-md-10">
<div id="cht3"></div>
</div>
</div>
{% endblock content %}
这整个脚本在OSX上运行良好,但在Ubuntu上我没有克服显示图表。我确定这是一个路径问题,但我整天检查,我找不到可能出错的地方。