python django web项目的构建步骤(二)

视图的实现:

视图是一个简单的 Python 方法,它接受一个请求对象,负责实现:

任何业务逻辑(直接或间接)

上下文字典,它包含模板数据

使用一个上下文来表示模板

响应对象,它将所表示的结果返回到这个框架中

在 Django 中,当一个 URL 被请求时,所调用的 Python 方法称为一个视图(view),这个视图所加载并呈现的页面称为模板(template)。由于这个原因,Django 小组将 Django 称为一个 MVT(model-view-template)框架。另一方面,TurboGears 把自己的方法称作控制器(controller),将所呈现的模板称为视图(view),因此缩写也是 MVC。其区别在于广义的语义,因为它们所实现的内容是相同的。

1、首先我们可以简单的来实现一下,就在myapp/views.py这个文件中写一个方法:

[[email protected] myapp]# vim views.py
from django.shortcuts import render
from django.http import HttpResponse

def index(request):
    return HttpResponse(‘Hello Word!‘)

2、在mysite2中的urls.py中加入一条记录:

[[email protected] myapp]# vim ../mysite2/urls.py
url(r‘^myapp/$‘, ‘myapp.views.index‘),	# ^myapp/$ 这个可以随意写,这个是在地址栏输入的地址,但是后面的myapp.views.index就必须写views.py中定义的方法。

这个在url地址栏中就可以访问到Hello Word!了

########## 视图-模块-URL的关联使用  ###########

1、在myapp文件夹下编写views.py

[[email protected] myapp]# vim views.py
from django.shortcuts import render
from django.http import HttpResponse
from django.template import Context, loader
from myapp.models import *
import json

def studentInfo(request):
    ret = []
    if request.method == ‘GET‘:
        student_list = Student.objects.all()
        for student_info in student_list:
            ret.append(student_info)
    return HttpResponse(ret)

def teacherInfo(request):
    ret = []
    if request.method == ‘GET‘:
        teacher_list = Teacher.objects.all()
        for teacher_info in teacher_list:
            ret.append(teacher_info)
    return HttpResponse(ret)

2、在mysite2文件夹下的url中添加下面两条url记录:

url(r‘^studentinfo/$‘, ‘myapp.views.studentInfo‘),
url(r‘^teacherinfo/$‘, ‘myapp.views.teacherInfo‘),

在页面地址栏中就可以这样查看内容了:

10.17.1.151:8000/studentinfo/

--------------------------------------------------------------------------------

3、到这我们还没添加模板,这里我们来添加一个模板文件夹,专门用来存放html页面信息的:

在项目目录mysite2下添加模板文件夹templates,编写模板

[[email protected] mysite2]# mkdir templates
[[email protected] mysite2]# cd templates
[[email protected] templates]# ll
total 4
-rw-r--r--. 1 root root 91 Jun 11 00:06 show_studentinfo.html
[[email protected] templates]# vim show_studentinfo.html
{% for n in student_list %}
<div>
    <h3>{{n}}</h3>
</div>
{% endfor %}

{{student_list}}

4、然后视图改这以下内容:

[[email protected] myapp]# vim views.py
from django.shortcuts import render, render_to_response
from django.http import HttpResponse
from django.template import Context, loader
from myapp.models import *
import json

def studentInfo(request):
    student_list = Student.objects.all()
    # show_studentinfo.html这里写模板文件夹里面对应的html文件名
    return render_to_response(‘./show_studentinfo.html‘, {‘student_list‘:student_list})

def teacherInfo(request):
    teacher_list = Teacher.objects.all()
    return render_to_response(‘./show_teacherinfo.html‘, {‘teacher_list‘:teacher_list})

5、然后在mysite2的url文件下添加一行url记录:

url(r‘^show_studentinfo/$‘, ‘myapp.views.studentInfo‘),   # show_studentinfo这个是templates模板文件中的文件名,但不用加.html
url(r‘^show_teacherinfo/$‘, ‘myapp.views.teachertInfo‘),  # myapp.views.teachertInfo这个是views中定义的方法

6、然后在地址栏中就可以访问得到了:

时间: 2024-08-06 09:38:03

python django web项目的构建步骤(二)的相关文章

python django web项目的构建步骤(一)

Django 一个开放源代码的Web应用框架,由Python写成.采用了MVC的软件设计模式,即模型M,视图V和控制器C.它最初是被开发来用于管理劳伦斯出版集团旗下的一些以新闻内容为主的网站的.并于2005年7月在BSD许可证下发布. 1.安装好python django(这步略过,安装过程自行完成,网上安装步骤很多),安装的版本不同而生成的文件目录也不同,这里用的是1.6.5的版本的django: [[email protected] ~]# django-admin.py --version

利用Eclipse中的Maven构建Web项目报错(二)

利用Eclipse中的Maven构建Web项目 1.错误描写叙述 [INFO] Scanning for projects... [INFO] [INFO] Using the builder org.apache.maven.lifecycle.internal.builder.singlethreaded.SingleThreadedBuilder with a thread count of 1 [INFO] [INFO] ---------------------------------

使用Servlet+JOPO+JSP一个微型Java web项目的构建(之二 前期准备)

这个算是一个最基本的web项目的练习,算是一个模板是的项目,其中包含一张表的增删改查功能,稍加改动和补充能应用在相似的model II开发的应用中. 前期准备: 我的开发环境是 MyEclipse 10.6+oracle 10g+Tomcat 6.0+IE 8+win xp. 注: 1.编译器方面eclipse 或 MyEclipse 任何版本都能行不用太纠葛.  2.数据库方面我使用的oracle 10g 为例,其实使用SQLServer 和my SQL 甚至H2都行,主要在数据库加载驱动和端

[python] python django web 开发 —— 15分钟送到会用(只能送你到这了)

1.安装python环境 1.1 安装python包管理器: wget https://bootstrap.pypa.io/get-pip.py sudo python get-pip.py ? 1.2 安装python虚拟环境virtualenv virtualenvwrapper 首先说明下为什么要装这两个包: First, it's important to understand that a virtual environment is a special tool used to ke

Myeclipse 搭建Java Web 项目:Servlet 《二》

上一节,我们使用myeclipse部署了web项目,但那部署的为静态的web项目,下面我们来学习编写动态的web项目,编写动态项目必须要用到的为:servlet. Servlet是由sun公司命名的,Servlet = Server + Applet(Applet表示小应用程序),Servlet是在服务器端运行的小程序. 编写一个现实登陆的Servlet,并部署访问. 1.编写登录的jsp页面,采用post方式提交. 访问此JSP页面: 2.编写LoginServlet 来通过后台校验登录的用户

【python】Django web项目部署(Nginx+uwsgi)

一.安装uwsgi 通过pip安装uwsgi. pip install uwsgi 测试uwsgi,创建test.py文件: def application(env, start_response):     start_response('200 OK', [('Content-Type','text/html')])     return [b"Hello World"] 通过uwsgi运行该文件. uwsgi --http :8001 --wsgi-file test.py 常用

python django web 管理界面admin工具简单部署

环境: A.centos 5.6 x64 B.python 2.7 C.django 1.6 1.创建一个项目 #python django-admin.py startproject test01 2.创建一个视图 #vim views.py #-*- coding: utf-8 -*- from django.http import HttpResponse def test_page(request): return HttpResponse("<p> my_test_proj

django创建项目的一般步骤

1. 在ubuntu中建立虚拟环境 比如想在目录project中创建一个虚拟环境,切进这个目录,然后做如下操作 1)安装virtualenv pip install virtualenv  或者 apt-get install python-virtualenv 2)建立虚拟环境 virtualenv 11_env  #默认是创建一个python2的虚拟环境 注意:ubuntu预装了python2和python3,  命令virtualenv 11_env --python=python3可创建

wildfly-9.0.2 web项目部署详细步骤

一.配置操作系统环境变量 JAVA_HOME = C:\Program Files (x86)\Java\jdk1.7.0_67 JBOSS_HOME = F:\server\wildfly-9.0.2 classpath =  %JAVA_HOME%\lib\tools.jar;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\bin; PATH = %JAVA_HOME%\bin;%JBOSS_HOME%\bin; 二.添加控制台管理账号 运行 F:\server\wil