My First Django Project (2)

1. 接下来是比较重要的VIEWS.py,您将会比较多的时间在这.有点想.net里面的aspx的cs概念,而aspx就是和接下来要创建的template html相似!

下面是我创建的一个view def.

from django.shortcuts import render, render_to_responsedef alert(request):
    posts   =  AlertMaster.objects.all()   #这里的alertmaster一个表的对象,这里是输出他的所有对象
    return render_to_response(‘external.html‘,{‘posts‘:posts}) #第一个参数是要使用的模板名称。第二个参数,是为该模板创建 Context 时所使用的字典
文件夹结构:

│ admin.py
│ models.py <-----------------model数据类
│ tests.py
│ views.py<-------------------views - controller - 用于定义def返回请求页面和context
│ __init__.py
│
├─migrations
│ __init__.py
│ __init__.pyc
│
├─static <--------------------------------用去存放css或者js之类的文件夹
│ │ body.css
│ │ jquery-1.8.2.min.js
└─templates <-------------------------------此地方用来存放模板
  ajax.html <------------------------------ajax请求返回模板
  alert.html <----------------------------主模板
  external.html<--------------------------extended模板

2.1 external.html

{% extends "alert.html" %}       #继承主模板alert.html
{% block content %}
        {%  for post in posts %}
            <tr>
                <td>{{post.production_day}}</td>
                <td>{{post.silo}}</td>
                <td>{{post.server}}</td>
                <td>{{post.region}}</td>
                <td>{{post.service}}</td>
                <td>{{post.osm}}</td>
                <td>{{post.pap}}</td>
                <td>{{post.sla}}</td>
            </tr>
{%endfor%}
{% endblock %}    

2.2 alert.html

<table style="clear:both;" class="altrowstable" id="alternatecolor">
{%block content%}{% endblock%}          #此处预留给extended.html,方便模板的拼接和可拓展
</table> 

3. ajax 请求 views.py

jquery/ajax 代码:

$.post("/ajax_response/", {"param": a,"param1":b,"param2":c}, function (data) {          #URL部分"/ajax_response/"将在urls.py中重定向
 $("#alternatecolor").html(data); });

Urls.py 代码:

     url(r‘^alert/$‘, alert),     # 将进入views.py 中 def alert:   url(r‘^ajax_response/$‘,ajax_response),  #ajax URL定义(如上块ajax请求URL所定义),返回views.py中定义的def ajax_response 方法(如下块代码)

views.py ajax controller 代码:

def ajax_response(request):
    param=request.POST.get("param") #获取由模板ajax传来的参数
    raw_sql=‘select * from alert.alert_master where param= "‘+param+‘"‘
    tests  =  AlertMaster.objects.raw(raw_sql) #执行rawsql
    return render_to_response(‘ajax.html‘,{‘tests‘:tests}) #返回带新字典的ajax页面(html)
时间: 2024-10-07 11:55:57

My First Django Project (2)的相关文章

Apache:To Config The Vhost of Django Project

It is not a good idea to use dev server in Production Environment. Apache or Nginx are good choice.Both of them are of great used as the web server. I'm trying to deploy in apache. The File Structre: If you've read djangoproject's documentation,you w

第一个 Django Project开发

本篇文章是 官网https://docs.djangoproject.com/en/1.7/intro/tutorial01/" 的实践版本.由于原文有较多的解释成分以及用英语书写不便于快速进入Django的开发.所以才有本文. Part 1. 环境搭建测试 如需转载请注明出处:*************************** 谢谢. 1. 环境 Ubuntu 13.10    # cat /etc/issue  进行查看 Python 3.3.2+   # python -V      

[Python] Create a new Django project in Pycharm

From: http://blog.csdn.net/u013088062/article/details/50158239     创建新工程 1.主题 这部分教程主要介绍如何通过Pycharm创建.管理.运行一个Django工程. Django是一个开放源代码的Web应用框架,由Python写成.采用了MVC的软件设计模式,即模型M,视图V和控制器C. 2.准备工作 (1)Pycharm为3.0或者更高版本. (2)电脑上至少安装了一个Python解释器,2.4到3.3版本均可. 这部分教程

Start Your Django Project in Nginx with uWsgi

Step 0:Install A,B,C,blabla needed This can be seen in my another article in the blog.click here(unavailable now,just in the future) Step 1:Create A Django Project chdir /path/to/your/project/base/ django-admin.py startproject mysite Step 2:Create Yo

My First Django Project - &lt;Django + MySQL + Ajax&gt; (1)

因为最近工作有些信息需要额外花时间去收集,但是现在有相关的operations每天记录状态,但是没有一个很好的状态收集工具,将状态收集起来,所以很多情况下我们不知道是状态变好了,还是变差.如果使用EXCEL协助记录,会造成很多麻烦,比如sharepoint的文件保存会有些繁琐.便想着用Django 来创建个APP来记录. 使用MYSQL + PYTHON + AJAX 1. 配置数据库 DATABASES = { 'default': { 'ENGINE': 'django.db.backend

My First Django Project (3) - Apache set up

Holy moly!!!!因为漏了一下斜杠,害我反复调试了2,3天,无法读取static 文件,一直找不出原因,后来在apache的error.log中发现了原因. 1. 下载了apache 2.4, 并安装mod_wsgi:  下载地址:http://www.lfd.uci.edu/~gohlke/pythonlibs/#mod_wsgi 基本上第三方的包都可以在这个地址上找到. whl文件: 可以使用install pip *.whl 来解压安装,解压后你所在的文件夹,会有个mod_wsgi

start django project

1.django-admin startproject helloword 创建项目helloword 2.开始一个app,写一个hello worldpython manage.py startapp hello 4.settings db DATABASES = { 'default': { 'ENGINE': 'django.db.backends.mysql', # 你的数据库引擎 'HOST': "localhost", # 你的数据地址,localhost代表本地 &quo

django常用命令有几个

Django是一个基于MVC构造的框架.在python web开发中,我们会经常用到django基础命令,小编总结了七个常用的django命令. 1.创建一个Django Project #使用下面的命令可以创建一个project [email protected]~: django-admin.py startproject mysite #创建好之后可以看到如下的project结构 mysite/ manage.py mysite/ __init__.py settings.py urls.

ubuntu下部署django

一:保证python运行环境安装 apt-get install python 如果需要进行开发则还要安装python-dev apt-get install python-dev 二:安装django 首先保证安装了pip包 利用pip进行django安装 pip install django 三:安装nginx studo apt-get install nginx nginx的服务启动与关闭 /etc/init.d/nginx start /etc/init.d/nginx stop /e