Upload
hexuotzo
View
1.307
Download
0
Embed Size (px)
Citation preview
&& danaweb
Django Reinhardt
www.djangoproject.com
特性 对象相关的映射:
完全在 Python中定义你的数据模型。你可以免费得到一个丰富的,动态访问数据库的API--但如果需要你仍然可以写 SQL语句。
URL:URL的设计漂亮, cruft-free,没有框架的特定限定。象你喜欢的一样灵活。
模版系统:使用 DjanGo强大而可扩展的模板语言来分隔设计、内容和 Python代码。
自动化的管理界面 :不需要你花大量的工作来创建人员管理和更新内容的接界。 Django可以自动完成。
支持多种数据库:已经支持 Postgresql, MySql, Sqlite3, Oracle, ado_mssql
国际化:完全支持多国语言,允许针对应用程序提供特定国家语言的翻译字符
优点
入门快
开发速度快
统一的约定
缺点
当前版本不支持多数据库
模板引擎的性能较差
文档 ...口口相传
3部曲
django-admin.py startproject myproject
django-admin.py startapp myapp
编写 urls , views
“Projects”
$ django-admin.py startproject $ django-admin.py startproject myprojectmyproject
myproject/myproject/ __init__.py__init__.py manage.pymanage.py settings.pysettings.py urls.pyurls.py
$ python manage.py runserver$ python manage.py runserverValidating models...0 errors found.
Django version 0.96-pre, using settings 'myproject.settings'Development server is running at http://127.0.0.1:8000/Quit the server with CONTROL-C.
“Apps”
$ django-admin.py startapp blog$ django-admin.py startapp blog
myproject/ blog/ __init__.py models.py views.py __init__.py manage.py settings.py urls.py
基本流程
浏览器
urls.py
views.pymodels.py
返回页面
该后台管理了
创建模型
from django.db import models
class View(models.Model): cname = models.CharField('中文名 ', max_length=100) dataset = models.ForeignKey(DataSet, help_text='数据集 ') view_type = models.CharField('视图类型 ', choices=VIEW_TYPE, max_length=1) time_type = models.CharField('时间类型 ', choices=TIME_CHOICES, max_length=1) prov_type = models.CharField('省维度数据源 ',choices=DATASET_PROVINCE,max_length=20) country_type = models.CharField('国维度数据源 ',choices=DATASET_COUNTRY,max_length=20) select_date = models.CharField('默认日期 ',choices=SELECT_DATE,max_length=1,default="1") #max_length = models.IntegerField('最大展示数量 ',default="1000",help_text="页面上展示的数据最行数 ",blank=True) #count_sum = models.BooleanField('计算合计 ') explain = models.TextField("简介 ", default='', blank=True ,help_text="<font color='red'>提示</font>:用 <br>换行 ")
同步表结构
$ python manage.py syncdbCreating table danaweb_viewLoading 'initial_data' fixtures...
管理界面 Django Admin
from django.contrib import admin
class ViewAdmin(admin.ModelAdmin): """ fieldsets = fieldsets = ( (None, { 'fields': (('cname', 'view_type', 'dataset'), 'body') }),) """ list_filter = ('view_type','time_type','select_date') list_display = ("cname","time_type",'dataset') search_fields = ['cname', 'time_type']
admin.site.register(View, ViewAdmin)
2个库
配置库 danacfg 数据库 dana
danaweb数据结构
danacfg
auth_group
auth_group_area
auth_group_permissions
auth_group_view
auth_message
auth_permission
auth_user
auth_user_groups
auth_user_user_permissions
danaweb_area
danaweb_city
danaweb_dataset
danaweb_datasetcolumn
danaweb_flashurl
danaweb_useraction
danaweb_userdimension
danaweb_view
django_admin_log
django_content_type
django_session
django_site
数据集danaweb_dataset
存表名,建表语句
ForeignKey
danaweb_datasetcolumn
存字段
ForeignKey
视图danaweb_view
danaweb_dataset
ForeignKey
注意事项与约定
条件:
日报的类型用日历 周报月报用单选框 关联的格式: 字典文件名 |列 |对应字段 1,对应列 ;对应字段 2,对应列
维度: “ ”如果有省、时间,要将 默认维度 勾选
指标: “ ”可以聚合的字段,勾选 千分位 “ ” “ ” “ ”对齐拦:时间 居中 ,维度 左对齐 ,指标 右对齐
配置数据集的时候要注意关键字段的名字: 省编码 province , 省名称 provname , 市编码 city , 市名称 cityname
开始时间 begin_date , 结束时间 end_date
谢谢