日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > windows >内容正文

windows

django的web开发笔记1(智能诊断系统数据概览记录)

發布時間:2025/3/11 windows 34 豆豆
生活随笔 收集整理的這篇文章主要介紹了 django的web开发笔记1(智能诊断系统数据概览记录) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

接于上一篇,這一篇主要記錄如何鏈接mysql數據庫以及從數據庫中調用數據信息到頁面,同時包含百度地圖api的一些使用。

其中包括模塊,echert圖表繪制數據調用,百度地圖數據信息調用以及一些單機效果,頁面數據調用等。

1.頁面數據調用:

首先要建數據庫,我們用的是mysql,所以要改寫setting.py中DATABASE模塊,(django默認是sqllit)

DATABASES = {'default': {'ENGINE': 'django.db.backends.mysql','NAME': 'bikeData', #數據庫名'USER': 'root','PASSWORD': 'helloworld','HOST': '127.0.0.1','PORT': '3306',} }

然后鏈接并創建數據庫,通過modos.py映射sql語句創建數據庫(以user創建為例)

  • 每個模型是?django.db.models.Model?的一個Python子類。
  • 該模型的每個屬性都代表一個數據庫字段。
  • 有了這一切,Django給你自動生成數據庫的訪問API;
from django.db import models from django.contrib import admin # Create your models here.#用戶信息 class User(models.Model):username = models.CharField(max_length=50)password = models.CharField(max_length=50)

這里出現出現的CharField, DateField, TextField都是Django用于儲存數據字段的Filed子類。你或許需要看一下官方文檔(https://docs.djangoproject.com/en/1.11/ref/models/fields/)里的說明。

先在modos窗創建相應的類,然后在到manage.py所在的目錄中(cmd)打開dos操作窗口執行以下操作

python manage.py makemigrations?(數據庫名) (本機是python36 manage.py makemigrations,因為多版本的原因需要區分)

python manage.py?migrate (數據庫名)

?

當然,反著來也可以,我們可以根據數據庫中的表反向創建modos文件,如下:

Django引入外部數據庫還是比較方便的,首先在setting里面設置你要連接的數據庫類型和連接名稱,地址之類,和創建新項目的時候一致?

運行下面代碼可以自動生成models模型文件?
python manage.py inspectdb?
這樣就可以在命令行看到數據庫的模型文件了

把模型文件導入到app中?
創建一個app?
django-admin.py startapp app?
python manage.py inspectdb > app/models.py?
ok模型文件已經生成好了。下面的工作就和之前一樣了

注意,如果你在數據自己的數據表你也可以自己手動創建modos,

django重數據庫中取出的數據的基本操作查文檔(values(),get(),all())等,注意它們的返回格式以及參數。valuse()的返回可以當做list處理。

用于頁面傳輸和展示的數據建議以鍵值對的形式,json或者dict的形式,便于在頁面上按需要調用。同時在python、以及js中對字典的讀取是,dict['XXX'],而在html中對傳過來的數據的讀取是dict.xxx。

如果在html中想要在外部鏈接的js中使用后臺傳過的數據可以現在<head>中創建以及js對象,eg:

<head> <script type="text/javascript">var MyChartVar = {chart1_data1:{{ chart1.data1|safe }},chart1_data2:{{ chart1.data2|safe }},chart2_data1:{{ chart2.data1|safe }},chart2_data2:{{ chart2.data2|safe }},chart2_data3:{{ chart2.data3|safe }},map_data:{{ mapdate.data|safe }},}</script> </head><script type="text/javascript" scr="js/mm.js" ></script>

這樣mm.js中就能直接調用了(調用map_data)

var datas = MyChartVar['map_data'];

具體要什么就要按dict的模式調用什么。

?

2.百度地圖api通過數據庫添加點位并點擊效果

// 編寫自定義函數,創建標注function addMarker(point){var marker = new BMap.Marker(point);map.addOverlay(marker);}var datas = MyChartVar['map_data']; //將后臺數據轉接過來var points = [];for (var i = 0; i<datas.length; i++){var point = new BMap.Point(datas[i]['lng'],datas[i]['lat']); //遍歷并創建地圖點addMarker(point); //先將點位展示point.id = datas[i]['stationid']; //分別將有需要的信息存儲,便于調用point.name = datas[i]['stationname'];point.lng = datas[i]['lng'];point.lat = datas[i]['lat'];point.zonename = datas[i]['zonename'];point.bikecount = datas[i]['bikecount'];point.max = datas[i]['max'];points.push(point);};var pointCollection = new BMap.PointCollection(points); //用pointcollection來存儲帶信息的點,這樣不用在單機事件的時候循環遍歷點來取出相應的信息。pointCollection.addEventListener('click', function (e) { // alert('單擊點的坐標為:' + e.point.lng + ',' + e.point.lat); // 監聽點擊事件var opts = {width: 100, // 信息窗口寬度height: 130, // 信息窗口高度title: "站點信息", // 信息窗口標題enableMessage: true,//設置允許信息窗發送短息enableAutoPan: true};var infowindow = new BMap.InfoWindow(e.point.name + ':' + e.point.id+'</br>'+'所屬片區:'+e.point.zonename+'</br>'+'最大容量:'+e.point.max+'</br>'+'可借車輛:'+e.point.bikecount, opts);var positions = new BMap.Point(e.point.lng,e.point.lat); //彈窗的定位map.openInfoWindow(infowindow, positions); //是彈出每次出現在相應點上});map.addOverlay(pointCollection)

?

總結

以上是生活随笔為你收集整理的django的web开发笔记1(智能诊断系统数据概览记录)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。