Пишем прости проекти. Проект №1. Част 2
Продължаваме да пишем проекта „Страница със статистически данни за лицеви опори“, използвайки колби + диаграми на Google.
В тази част ще допълним шаблона с javascript, ще обмислим и внедрим история на запазване/зареждане.
По-рано (http://bit.ly/20cxo8i) създаде основен проект на колба и html файл с Hiiii текст.
Файлова структура преди втората част:
Започваме втората част.
Моля, обърнете внимание, че кодът от поредицата от тези статии е очевиден и прост. Авторът няма за цел да напише перфектен код.
Първо, нека разберем какви данни има в проекта и как ще ги съхраняваме.
В този проект няма разнообразие от данни. Едно количество е броят на лицевите опори в даден момент T. Следователно не се изисква съхранение или готина база данни - файл е достатъчен. Нека напишем списък (масив) от елементи от две стойности във файла - време и брой лицеви опори
Броят на лицевите опори също цяло число.
Форматът е дефиниран. Сега нека започнем да запазваме/зареждаме данни от файла. За удобство ще се използва модулът туршия от стандартната библиотека.
Модулът на туршията ви позволява да конвертирате обект на python (променлива) в двоичен формат и обратно.
Това ще ви позволи да не мислите как да съхранявате описаната структура. Достатъчно е да се генерира списък с кортежи, да се прекара през модула и да се запише във файл. Ето какво ще направим:
Тогава ужасният код с глобална променлива:) Това е у дома домашна работа - пренапишете кода без глобална променлива.
На какво трябва да обърнете внимание:
- модул туршия. Пишем този проект на Python3. За Python2 трябва да пишете cPickle
- 'rb'и'wb'- писмо r означава четене, w - напишете и писмото б - двоичен. Нека ви напомня това туршия преобразува Python обект в двоична структура.
Практика: практикувайте с този код - записвайте данни с функция за запис, четете с четене
Референции: използването на шест модула (по избор) улеснява писането на преносим код. (т.е. съвместим с Python 2 и 3)
Нека поправим стартовия код:
По този начин при стартиране на сървъра в променливата ДАННИ ще има статистика за лицеви опори. Нека си припомним основната задача на проекта - да показва статистика за лицеви опори на уеб страница. За да прехвърлим тези данни на страницата, ние пренаписваме функцията индекс ():
Какво интересно има тук? Във функция render_template добави аргумент данни и предаде данните във формат JSON. Име данни действащ. С това име ще са налични данните в html шаблона.
Помощ: Форматът JSON е подходящ за уеб проекти поради поддръжката на браузъра и опростената структура на данните. Можете да прочетете за JSON тук
Засега нека завършим с кода на Python и преминем към шаблона. Сега трябва да покажем данните.
Замяна на текста Hiiiiiiii На >, както се досещате, получаваме картографиране на променливата json.dumps (ДАННИ) (предадено в метода на индекса). Докато DATA е празен (няма файл с данни), можете да зададете някаква собствена стойност - опитайте.
Помощ: формат за публикуване> е част от езика за шаблонизиране на Jinja2. Можете да прочетете възможностите на двигателя, като следвате връзката. Подобен синтаксисен формат се използва в друга уеб рамка (django)
Сега да отидем по-нататък, да визуализираме данните.
За това ще бъдат използвани диаграми на Google. Това е библиотека на Javascript с добра документация и примери. Разговор за Javascript може да отнеме много време, затова ще дам окончателния код и ще го опиша накратко.
В този код се случва следното
- В етикета глава свързваме библиотеки за рисуване на графики
- В блока
И всичко изглежда така:
Долен ред досега:
- Има приложение на колба с възможност за запазване и зареждане на данни във/от файл. Дефиниран формат на данните.
- Има страница, която показва графиката (все още няма данни)
Остава да свържете тези две части заедно.
При това ще прекъсна тази част.
Дата 2016-01-29 21:34:30 Категории Пишем уеб проекти Тагове
- Презентация на тема ПРОЕКТ - КРАСИВ КЛУБ - Старша група - Почемучки - Педагог Усачева
- Презентация по темата Кодове на символи на проекта Превод на номера на проекта Калкулатор на проекти
- Рецепта за бисквити от Тирамису 3 лесни начина
- Обикновена домашна рецепта за пай - нежност
- Риелтор - или - риелтор как да пишете правилно, как да говорите правилно