以前用web.py(另外一款轻量级web开发框架)做一个监控管理平台,没有做特别的记录就不好拾起来。最近做一个日志聚合系统,使用的是django,这次就记下来,方便查询。
Django是一个高效的web开发框架,上手容易,便于调试和发布。
它的设计遵循经典的web设计架构-MVC(Model-view-controller),一个应用分为四部分:
python & django,本文使用的是python-2.7.9,django-1.7.6
在html中使用模板语言定义页面框架和内容,后台由模板引擎渲染成完整的html。{% %}用于逻辑控制,{{}}用于变量引用
模板间关系
//base.html <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"> <html lang="en"> <head> <title><strong>{% block</strong> title <strong>%}{% endblock %}<</strong>/title> </head> <body> <h1>My helpful timestamp site</h1> {% block content %}{% endblock %} {% block footer %} <hr> <p>Thanks for visiting my site.</p> {% endblock %} </body> </html> //子模板 current.html <strong>{% extends "base.html" %} {% block title %}</strong>The current time<strong>{% endblock %}</strong> {% block content %} <p>It is now {{ current_date }}.</p>{% endblock %}
基本控制标签
补充:python中空列表、空元组、空字典、空字符串、0、None对象、False对象代表布尔值假,其余都是真布尔值。
前端页面:HTML、JavaScript、HTML DOM、JQuery、ajax、JSON
后端逻辑:python
页面模板:建议网上找基于bootstrap的网页模板
项目创建
django-admin.py startproject tulip
获得如下的目录,manage.py/__init__.py/wsgi.py不需要修改,另外手动创建static目录用于保存js/css,创建templates用于保存html模板,创建lib用于保存依赖库
tulip/ manage.py tulip/ __init__.py settings.py urls.py wsgi.py static/ templates/
逻辑实现
写页面
//search.html <select id="servicename" class="form-control" onchange="getServiceInfo()"> <option value="">应用服务</option> {% for service in servicenames %} <option>{{ service }}</option> {% endfor %} </select>
配置urls.py
from django.conf.urls import patterns, include, url urlpatterns = patterns('tulip',//tulip是模块名,作为后续映射路径的共同前缀 url(r'^$', 'searchText.index'), )视图逻辑
//searchText.py from django.shortcuts import render_to_response from django.http import HttpResponse def index(request): dao = TulipDao() servicenames = dao.getServicenames() return render_to_response('search.html', locals()) #或者return render_to_response('search.html',{'servicenames':servicenames}) #locals()返回的字典包含所有局部变量的名称与值的映射
启动应用
python manage.py runserver 0.0.0.0:8000 //0.0.0.0允许任意非本地连接,不指定ip则仅监听本地连接
文章太长了,再分一篇吧,下一篇记录一些技巧和参考资料
原文:http://blog.csdn.net/whuqin/article/details/44591773