python + django + echart 构建中型项目
1. python生产环境, 多层modules 导入问题:
多个modules 如何导入不同级别的包:
在每个modules下新建 __init__.py
import os, sys
dir_mytest = os.path.dirname(os.path.abspath(__file__)) # crontab 跑时 os.getcwd() 只会取到用户的路径....
sys.path.insert(0, dir_mytest+"tmp\\t1")
#sys.path.insert(0,os.getcwd())
在控制目录的执行文件中:
from module import py
如果是三层结构或者更多:
from module.submodule.submodule.py import *
2. django 结构:
->1. 在admin层 urls.py 设置路由:
# 导入app模块的控制层
from app_name import views
urlpatterns = [
#path('admin/', admin.site.urls),
path('index/', views.index)
]
->2. 在app业务处理层 views.py 编写处理逻辑:
#导入HttpResponse模块
from django.shortcuts import HttpResponse
def index(request):
return HttpResponse("hello world")
在此可以进行python的业务编码处理。
->3. 在app业务处理层, settings.py 设置数据库连接:
INSTALLED_APPS = [
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'app_name'
]
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql', #此项不变
'NAME': 'mydata', #设置的数据库名称
'USER': 'root', #mysql 的登录用户名
'PASSWORD': '123456', #mysql的登录密码
'HOST': 'localhost', #默认为127.0.0.1
'PORT': '3306', #默认端口:3306
'charset': 'utf8',
}
}
import pymysql
pymysql.install_as_MySQLdb()
conda install mysqlclient=1.3.13
mysqlclient 1.3.3 or newer is required; you have 0.7.11.None
通过查找路径C:\Programs\Python\Python36-32\Lib\site-packages\Django-2.0-py3.6.egg\django\db\backends\mysql\base.py
这个路径里的文件把
if version < (1, 3, 3):
raise ImproperlyConfigured("mysqlclient 1.3.3 or newer is required; you have %s" % Database.__version__)
query = query.decode(errors='replace')
将这段代码注释掉
########### pyecharts ##############################################################
安装pyecharts: pip install pyecharts
script_list 是 Page() 类渲染网页所需要依赖的 echarts js 库,依赖的库的数量取决于所要渲染的图形种类。
echarts js 库的地址,默认的地址为 http://chfw.github.io/jupyter-echarts/echarts
在app_name下, 创建templates目录;
-> 在该目录下:
:创建一个static:存放echarts.js
: 创建一个pyecharts.html:
<head>
<meta charset="utf-8">
<title>Proudly presented by PycCharts</title>
{% for jsfile_name in script_list %}
{% load staticfiles %}
<!-- <script src="{% static '/echarts/{{jsfile_name}}.js' %}"></script> -->
<script src="/static/echarts/{{jsfile_name}}.js"></script>
{% endfor %}
</head>
<body>
<!--|safe 过滤器, 不对字符串进行转义-->
{{myechart|safe}}
</body>
######################## debug ###############################
报错:
UnicodeDecodeError: 'gbk' codec can't decode byte 0xa6 in position 9737:
打开:
File "E:\software\Anaconda\lib\site-packages\django\views\debug.py", line 332, in get_traceback_html
t = DEBUG_ENGINE.from_string(fh.read())
在331行修改: .open(encoding="utf-8") as fh
python + django + echart 构建中型项目的更多相关文章
- Python Django(WEB电商项目构建)
(坚持每一天,就是成功) Python Django Web框架,Django是一个开放源代码的Web应用框架,由Python写成.采用了MTV的框架模式,即模型M,模板T和视图V组成. 安装Pyth ...
- python+Django创建第一个项目
1.首先搭建好环境 1.1 安装pyhton,Linux系统中,python是系统自带的所以就不用安装 1.2 安装Django框架 使用pip安装: pip install django 1.3 检 ...
- 如何使用seajs+jQuery构建中型项目
为何有这种想法? 由于最近做的项目是用jquery+seajs集成的,所以就突发奇想 如何使用seajs+jquery能更好的构建项目,比如能解决模块化,模块与模块之间的依赖,文件上线后打包,压缩等能 ...
- python django -7 Git与项目
git的使用,主要包括: 本地仓库的命令 远程仓库的命令 项目需求.页面.模型类的设计,及页面的使用 Git简介 Git是目前世界上最先进的分布式版本控制系统 安装 sudo apt-get inst ...
- python django 重新安装不能创建项目
这里仅给大家做个思路提醒: 1.如果在别的地方找到一样的问题那就按别的方法去解决 2.如果是创建startproject的时候 报错:no module named 'mysite' 这个的话就和 ...
- Django-Multitenant,分布式多租户数据库项目实战(Python/Django+Postgres+Citus)
Python/Django 支持分布式多租户数据库,如 Postgres+Citus. 通过将租户上下文添加到您的查询来实现轻松横向扩展,使数据库(例如 Citus)能够有效地将查询路由到正确的数据库 ...
- Python Django CMDB项目实战之-3创建form表单,并在前端页面上展示
基于之前的项目代码 Python Django CMDB项目实战之-1如何开启一个Django-并设置base页.index页.文章页面 Python Django CMDB项目实战之-2创建APP. ...
- Python Django CMDB项目实战之-2创建APP、建模(models.py)、数据库同步、高级URL、前端页面展示数据库中数据
基于之前的项目代码来编写 Python Django CMDB项目实战之-1如何开启一个Django-并设置base页index页文章页面 现在我们修改一个文章列表是从数据库中获取数据, 下面我们就需 ...
- Python Django CMDB项目实战之-1如何开启一个Django-并设置base页、index页、文章页面
1.环境 win10 python 2.7.14 django 1.8.2 需要用到的依赖包:MySQLdb(数据库的接口包).PIL/pillow(处理图片的包) 安装命令: pip install ...
随机推荐
- python验证码简单识别
因为需求,所以接触了验证码这一块,原本感觉到会很难,学了之后挺简单的,但后来又发现自己还是too young... PIL(python Image Library) 目前PIL的官方最新版本为1.1 ...
- RecyclerViewItemTouchHelperDemo【使用ItemTouchHelper进行拖拽排序功能】
版权声明:本文为HaiyuKing原创文章,转载请注明出处! 前言 记录使用ItemTouchHelper对Recyclerview进行拖拽排序功能的实现. 效果图 代码分析 ItemTouchHel ...
- 将svg文件化成字体图标的步骤
一 前提摘要 有一个活就是按照需求在现有的项目中新增几个项目和修改几个项目,是很简单的,但当中遇到了一个小问题,就是tabs中图标选中和被选中的颜色问题,如果是新开发的,目前掌握的有两种办法 ...
- DotNetCore跨平台~Dapper的使用
回到目录 Dapper作为小型ORM的代表作品被我们应用到了dotnet core的项目中,下面将把自己在项目中使用dapper进行curd操作的过程写一下,后期可能会遇到一些问题,大叔也会在这个系列 ...
- Tensorflow之基于LSTM神经网络写唐诗
最近看了不少关于写诗的博客,在前人的基础上做了一些小的改动,因比较喜欢一次输入很长的开头句,所以让机器人输出压缩为一个开头字生成两个诗句,写五言和七言诗,当然如果你想写更长的诗句是可以继续改动的. 在 ...
- 图像检索(6):局部敏感哈希索引(LSH)
图像检索中,对一幅图像编码后的向量的维度是很高.以VLAD为例,基于SIFT特征点,设视觉词汇表的大小为256,那么一幅图像编码后的VLAD向量的长度为$128 \times 256 = 32768 ...
- spring transaction源码分析--事务架构
1. 引言 事务特性 事务是并发控制的单元,是用户定义的一个操作序列.这些操作要么都做,要么都不做,是一个不可分割的工作单位.通过事务将逻辑相关的一组操作绑定在一起,以便服务器 保持数据的完整性.事 ...
- 《C#并发编程经典实例》学习笔记—2.5 等待任意一个任务完成 Task.WhenAny
问题 执行若干个任务,只需要对其中任意一个的完成进行响应.这主要用于:对一个操作进行多种独立的尝试,只要一个尝试完成,任务就算完成.例如,同时向多个 Web 服务询问股票价格,但是只关心第一个响应的. ...
- .Net 委托 delegate 学习
一.什么是委托: 委托是寻址方法的.NET版本,使用委托可以将方法作为参数进行传递.委托是一种特殊类型的对象,其特殊之处在于委托中包含的只是一个活多个方法的地址,而不是数据. 二.使用委托: 关键 ...
- 如何删除织梦系统power by dedecms
很多织梦系统底部会自带power by dedecms,这个power by dedecms是什么意思呢?这个power by 是织梦系统版权信息,但是织梦系统是开源免费的,所以今天小编就和大家说说如 ...