`
kakashi
  • 浏览: 23444 次
  • 性别: Icon_minigender_1
  • 来自: 成都
社区版块
存档分类
最新评论

初试django

阅读更多

最近学习了下python的框架 django ,在这做下笔记

 

安装部分省去,安装好了后.

1. 建立project .首先是要建立一个项目,django会自动生成一些项目中需要使用的文件,使得其符合django的标准.具体是进入你要建立project的目录然后使用 django-admin.py startproject djangotest 命令,这时候在你当前的目录下会产生名为

djangotest的目录,目录下有四个文件

 

 

__init__.py   空文件,使python认为这是个package

manage.py   使用命令的工具,比如起服务 runserver

settings.py   这个当然是一些关于工程的设置

urls.py   url 匹配当相应的方法,就像struts的struts-config.xml

 

 

2 建立app.接下来要建立app ,app存在于project中,一个project可以有多个app.可以把app理解为一个模块。这里就和java里的分类方式比较的不同,在java中一般是按照层来分包的,比如dao是一个包,service是一个包,而在django中,一个模块是一个包。

   进入djangotest目录运行 django-admin.py startapp codegen,会产生一个新的目录,名字是codegen,下面有三个文件

   __init__.py  和上面一样

  models.py   不用解释了吧

  views.py      对应你要执行的动作,相当于action

  实际上django可以根据你models.py里面的代码自动生成数据库的表以及字段。并自带提供一个web的管理界面,不过我现在还觉得django和数据库的连接让我觉得不是很方便,这里省去关于和数据库连接的部分。

 

3 设计url.这个时候就可以开始真正建立你的应用了,首先是设计你的url结构,在urls.py 中来配置你的url结构,这里用一个简单的登录功能来展示下,其url.py中

from django.conf.urls.defaults import *

# Uncomment the next two lines to enable the admin:
# from django.contrib import admin
# admin.autodiscover()

urlpatterns = patterns('', 
    (r'^djangotest/$', 'codegen.views.index'),
    (r'^djangotest/login$', 'codegen.views.login'),

)

 以 (r'^djangotest/$', 'codegen.views.index') 这句来说就是当用户访问url为 http://localhost:8000/djangotest/时就会访问到codegen下面的views.py中的index方法

 

4 编写view.在views.py中写下你的方法。看下views.py中的方法:

# Create your views here.
from django.shortcuts import render_to_response

def index(request):
    return render_to_response('login.html')

 只是简单的转向至login.html,在django中所有的url访问都必须要配置,哪怕只是一个简单的转向。不象在jsp中,你可以根据目录的结构来访问jsp文件,虽说通过正则表达式的匹配能够是使url配置很灵活,但在我看来并没有提供多大的好处,反而多了复杂性

    再来看下这个转向,如何去找到这个页面呢,这里并没有写路径啊 ,关键就在于在setting.py中有一项关于模板路径的配置

TEMPLATE_DIRS = (
    # Put strings here, like "/home/html/django_templates" or "C:/www/django/templates".
    # Always use forward slashes, even on Windows.
    # Don't forget to use absolute paths, not relative paths.
      "/Volumes/work/dev/python/djangotest/codegen/templates",
)

配置了以后django就会在这个目录下寻找页面的文件。然后在这个目录下放入你的 'login.html'文件

 <html> 
 <head> 
   <meta http-equiv="Content-Type" content="text/html" /> 
   <title>登录</title> 
 </head> 
 <body> 
	 <form action="login" method="POST" id="generateForm">
           <p>{{ errormessage }}</p>
            <p>User Name:</p>       
	        <p><input type="text" name="username" id="username" /></p>
	        <p>Password:</p>     
	        <p><input type="password" name="password" id="password" /></p>
	        <p><input type="submit" value="submit" /></p>
	</form>
 </body> 
</html>

 

现在你可以用 python manage.py runserver这个命令来启动你的服务,然后访问lhttp://localhost:8000/djangotest/就可以看到你的登录页面。

  

 

 5.页面与后台的传值 

   

      在j2ee中一般使用request来进行页面和后台之前的传值,在前台展现用jsp,在django中也是用的request来传值,在页面展现有自己的模板语言,但不同的是他禁止你在页面上直接使用python语言。

    当我们点登录的时候会执行views.py中的login方法

def login(request):
	username =request.POST["username"]
	password =request.POST["password"]
	if username =="test" and password == "test":
		return render_to_response('success.html',{"username":username})
	else:
		return render_to_response('login.html',{"errormessage":"login failed"})

 

可以看到我们用的request.POST来取得参数,这个属性实际上是一个字典类型,可以使用字典类型可以用的所有方法。我们取得用户在页面上输入的用户名密码,如果为test就成功,如果不是就是失败。可以看到我们仍然是通过一个字典类型向页面上传值。

 在success中:

 <html> 
 <head> 
   <meta http-equiv="Content-Type" content="text/html" /> 
   <title>登录成功</title> 
 </head> 
 <body> 
  welcome     {{ username }}
 </body> 
</html>

 那么如果登录成功的话就可以看到 welcome test的字样。

 

 

  总的来说如果有过一些做web程序的经验的话那么学习django并不是太难,架构上还是经典的mvc架构。实际上比起java的一些框架在开发上我并不觉得django有多大的质的提高,思想还是一样,只不过是在python下

 

 

 

 

 

 

0
0
分享到:
评论
1 楼 jht_18 2011-03-09  
这里views.py指的是codegen文件夹中的views.py

相关推荐

    django电子商务网站源码.zip

    django电子商务网站源码 django电子商务网站源码 django电子商务网站源码 django电子商务网站源码 django电子商务网站源码 django电子商务网站源码 django电子商务网站源码 django电子商务网站源码 django...

    Django实现商城网站源码.zip

    Django实现商城网站源码 Django实现商城网站源码 Django实现商城网站源码 Django实现商城网站源码 Django实现商城网站源码 Django实现商城网站源码 Django实现商城网站源码 Django实现商城网站源码 Django...

    Django客户管理系统源码.zip

    Django客户管理系统源码 Django客户管理系统源码 Django客户管理系统源码 Django客户管理系统源码 Django客户管理系统源码 Django客户管理系统源码 Django客户管理系统源码 Django客户管理系统...

    基于Django的个人网盘源码.zip

    基于Django的个人网盘源码 基于Django的个人网盘源码 基于Django的个人网盘源码 基于Django的个人网盘源码 基于Django的个人网盘源码 基于Django的个人网盘源码 基于Django的个人网盘源码 基于Django...

    Python基于Django的就业系统源码.zip

    基于Django就业系统源码 基于Django就业系统源码 基于Django就业系统源码 基于Django就业系统源码 基于Django就业系统源码 基于Django就业系统源码 基于Django就业系统源码 基于Django就业系统源码 基于...

    django项目实例(django 简易博客开发)

    前几天写的django 简易博客开发记录,贴个链接吧 django 简易博客开发 1 安装、创建、配置、admin使用 http://www.cnblogs.com/cacique/archive/2012/09/29/2707976.html django 简易博客开发 2 模板和数据查询 ...

    Django实现在线视频课堂播放网站源码.zip

    Django实现在线视频课堂播放网站源码 Django实现在线视频课堂播放网站源码 Django实现在线视频课堂播放网站源码 Django实现在线视频课堂播放网站源码 Django实现在线视频课堂播放网站源码 Django实现在线视频...

    Django从零开发的个人博客网站源码.zip

    Django从零开发的个人博客网站源码 Django从零开发的个人博客网站源码 Django从零开发的个人博客网站源码 Django从零开发的个人博客网站源码 Django从零开发的个人博客网站源码 Django从零开发的个人博客...

    django笔记 django笔记

    django笔记 django笔记

    django4中文文档

    django4最新中文文档+适合python初学或者初次接触django4的开发者 从事Python编程工作的人员,一定听说过这三个框架:Django、Flask、Tornado,它们就像神一样的存在 Django是最有代表性的一种。许多成功的网站和APP...

    Django版Django版

    Django版 Django版 Django版Django版Django版

    基于DJango开发的仓库管理系统源码.zip

    基于DJango开发的仓库管理系统,软件架构:python 3.5、django 2.2、MySQL 基于DJango开发的仓库管理系统,软件架构:python 3.5、django 2.2、MySQL 基于DJango开发的仓库管理系统,软件架构:python 3.5、...

    使用Django框架开发的企业OA管理系统源码.zip

    使用Django框架开发的企业OA管理系统源码 使用Django框架开发的企业OA管理系统源码 使用Django框架开发的企业OA管理系统源码 使用Django框架开发的企业OA管理系统源码 使用Django框架开发的企业OA管理系统源码 ...

    基于Django的疫情上报系统源码.zip

    基于Django的疫情上报系统源码 基于Django的疫情上报系统源码 基于Django的疫情上报系统源码 基于Django的疫情上报系统源码 基于Django的疫情上报系统源码 基于Django的疫情上报系统源码 基于Django的...

    Django + python + mysql的在线考试系统源码.zip

    Django + python + mysql的在线考试系统源码 Django + python + mysql的在线考试系统源码 Django + python + mysql的在线考试系统源码 Django + python + mysql的在线考试系统源码 Django + python + mysql的...

    基于Django的交通设施运维管理系统设计

    基于Django的交通设施运维管理系统设计基于Django的交通设施运维管理系统设计基于Django的交通设施运维管理系统设计基于Django的交通设施运维管理系统设计基于Django的交通设施运维管理系统设计基于Django的交通设施...

    使用Django开发的天天生鲜商城源码.zip

    使用Django开发的天天生鲜商城源码 使用Django开发的天天生鲜商城源码 使用Django开发的天天生鲜商城源码 使用Django开发的天天生鲜商城源码 使用Django开发的天天生鲜商城源码 使用Django开发的天天生鲜...

    Django documentation Django API

    Django documentation Django API Django

    Python基于Django学生宿舍管理系统源码.zip

    Python基于Django学生宿舍管理系统源码 Python基于Django学生宿舍管理系统源码 Python基于Django学生宿舍管理系统源码 Python基于Django学生宿舍管理系统源码 Python基于Django学生宿舍管理系统源码 Python基于...

    Python基于Django的在线考试系统源码.zip

    Python基于Django的在线考试系统源码 Python基于Django的在线考试系统源码 Python基于Django的在线考试系统源码 Python基于Django的在线考试系统源码 Python基于Django的在线考试系统源码 Python基于...

Global site tag (gtag.js) - Google Analytics