27
&& danaweb [email protected]

Django Firstofhexu

Embed Size (px)

Citation preview

Page 1: Django Firstofhexu

&& danaweb

[email protected]

Page 2: Django Firstofhexu

Django Reinhardt

Page 3: Django Firstofhexu

www.djangoproject.com

Page 4: Django Firstofhexu
Page 5: Django Firstofhexu

特性 对象相关的映射:

完全在 Python中定义你的数据模型。你可以免费得到一个丰富的,动态访问数据库的API--但如果需要你仍然可以写 SQL语句。

URL:URL的设计漂亮, cruft-free,没有框架的特定限定。象你喜欢的一样灵活。

模版系统:使用 DjanGo强大而可扩展的模板语言来分隔设计、内容和 Python代码。

自动化的管理界面 :不需要你花大量的工作来创建人员管理和更新内容的接界。 Django可以自动完成。

支持多种数据库:已经支持 Postgresql, MySql, Sqlite3, Oracle, ado_mssql

国际化:完全支持多国语言,允许针对应用程序提供特定国家语言的翻译字符

Page 6: Django Firstofhexu

优点

入门快

开发速度快

统一的约定

Page 7: Django Firstofhexu

缺点

当前版本不支持多数据库

模板引擎的性能较差

文档 ...口口相传

Page 8: Django Firstofhexu

3部曲

django-admin.py startproject myproject

django-admin.py startapp myapp

编写 urls , views

Page 9: Django Firstofhexu

“Projects”

$ django-admin.py startproject $ django-admin.py startproject myprojectmyproject

Page 10: Django Firstofhexu

myproject/myproject/ __init__.py__init__.py manage.pymanage.py settings.pysettings.py urls.pyurls.py

Page 11: Django Firstofhexu

$ 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.

Page 12: Django Firstofhexu
Page 13: Django Firstofhexu

“Apps”

$ django-admin.py startapp blog$ django-admin.py startapp blog

Page 14: Django Firstofhexu

myproject/ blog/ __init__.py models.py views.py __init__.py manage.py settings.py urls.py

Page 15: Django Firstofhexu

基本流程

浏览器

urls.py

views.pymodels.py

返回页面

Page 16: Django Firstofhexu

该后台管理了

Page 17: Django Firstofhexu

创建模型

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>:用 &lt;br&gt;换行 ")

Page 18: Django Firstofhexu

同步表结构

$ python manage.py syncdbCreating table danaweb_viewLoading 'initial_data' fixtures...

Page 19: Django Firstofhexu

管理界面 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)

Page 20: Django Firstofhexu
Page 21: Django Firstofhexu
Page 22: Django Firstofhexu

2个库

配置库 danacfg 数据库 dana

danaweb数据结构

Page 23: Django Firstofhexu

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

Page 24: Django Firstofhexu

数据集danaweb_dataset

存表名,建表语句

ForeignKey

danaweb_datasetcolumn

存字段

ForeignKey

Page 25: Django Firstofhexu

视图danaweb_view

danaweb_dataset

ForeignKey

Page 26: Django Firstofhexu

注意事项与约定

条件:

日报的类型用日历 周报月报用单选框 关联的格式: 字典文件名 |列 |对应字段 1,对应列 ;对应字段 2,对应列

维度: “ ”如果有省、时间,要将 默认维度 勾选

指标: “ ”可以聚合的字段,勾选 千分位 “ ” “ ” “ ”对齐拦:时间 居中 ,维度 左对齐 ,指标 右对齐

配置数据集的时候要注意关键字段的名字: 省编码 province , 省名称 provname , 市编码 city , 市名称 cityname

开始时间 begin_date , 结束时间 end_date

Page 27: Django Firstofhexu

谢谢