- 浏览: 829730 次
- 性别:
- 来自: 北京、四川
文章分类
最新评论
-
sunbeamzheng:
总结的很好,好好看看。 拷贝问题确实很需要注意,特别是影不影响 ...
java深拷贝与浅拷贝 -
xmh8023:
...
获取POST数据的值 -
xmh8023:
我访问别的服务器怎么办?急求
获取POST数据的值 -
xmh8023:
String urlString="http://l ...
获取POST数据的值 -
lv12312:
Tomcat 7的老版本么?有bug的,https://iss ...
JMX问题
django入门例子:
都是参考了网上的例子完成的~
建立项目:django-admin.py startproject test1
建立目录:django-admin.py startapp views
django-admin.py startapp db
django-admin.py startapp templates
附件为所有代码
hello.py
如下:
urls.py
这里开通了django的后台管理的功能,1.0版本与0.96版本不太一样
数据库的简单操作:
这里与0.96似乎有很大的差别,
0.96的版本是class Admin: pass 这样加入admin的管理后台去
而1.0之后的版本则是通过admin.site.register(User) 这个语句是把User表加入到admin的管理后台去
另外也有变化,则需要参考文档,还没有使用那部分的功能
这是models.py
应用:test_form.py
templates:formtest.html
用户登录例子:login.py
页面:login.html
base.html
都是参考了网上的例子完成的~
建立项目:django-admin.py startproject test1
建立目录:django-admin.py startapp views
django-admin.py startapp db
django-admin.py startapp templates
附件为所有代码
hello.py
如下:
#!/usr/bin/env python #-*-coding:utf-8-*- from django.http import HttpResponse from django.template import Context,Template from django.template.loader import get_template from django.shortcuts import render_to_response import datetime def current_time(request): now=datetime.datetime.now() html="It is now %s ." %now return HttpResponse(html) def hours_ahead(request,offset): offset=int(offset) dt=datetime.datetime.now()+datetime.timedelta(hours=offset) html="In %s hour(s) ,it will be %s." %(offset,dt); return HttpResponse(html) def hours_after(request,offset): offset=int(offset) dt=datetime.datetime.now()-datetime.timedelta(hours=offset) html="%s hour(s) ago,it will be %s." %(offset,dt); return HttpResponse(html) # plus_or_minus和offset参数由urls.py中设置,这里的设置是 #(r'^now/(plus|minus)(\d{1,2})hours/$', hello.hours_offset), #与位置顺序有关 def hours_offset(request,plus_or_minus,offset): offset=int(offset) if plus_or_minus=='plus': dt=datetime.datetime.now()+datetime.timedelta(hours=offset) html="In %s hour(s) ,it will be %s." %(offset,dt); else: dt=datetime.datetime.now()-datetime.timedelta(hours=offset) html="%s hour(s) ago,it will be %s." %(offset,dt) return HttpResponse(html) #使用模板 def t_current_time(request): now=datetime.datetime.now() html="<body><html>It is now {{current_time}}</html></body>." t=Template(html) c=Context({'current_time':now}) ret=t.render(c) return HttpResponse(ret) #使用模板,需要在setting.py文件里配置TEMPLATE_DIRS , 在这里的地址是'f:/django/test1/templates', def tl_current_time(request): now=datetime.datetime.now() t=get_template('current_time.html') c=Context({'current_time':now}) ret=t.render(c) return HttpResponse(ret) #使用render_to_response()方法渲染模板 def render_current_time(request): now=datetime.datetime.now() return render_to_response('current_time.html',{'current_time':now}) def renderl_current_time(request): current_time=datetime.datetime.now() #locals()返回一个包含当前作用域里面的所有变量和他们的值的字典 #在这里就相当于{'current_time':current_time} return render_to_response('current_time.html',locals()) #前台循环 def musician_list(request): MUSICIANS = [ {'name': 'Django Reinhardt', 'genre': 'jazz'}, {'name': 'Jimi Hendrix', 'genre': 'rock'}, {'name': 'Louis Armstrong', 'genre': 'jazz'}, {'name': 'Pete Townsend', 'genre': 'rock'}, {'name': 'Yanni', 'genre': 'new age'}, {'name': 'Ella Fitzgerald', 'genre': 'jazz'}, {'name': 'Wesley Willis', 'genre': 'casio'}, {'name': 'John Lennon', 'genre': 'rock'}, {'name': 'Bono', 'genre': 'rock'}, {'name': 'Garth Brooks', 'genre': 'country'}, {'name': 'Duke Ellington', 'genre': 'jazz'}, {'name': 'William Shatner', 'genre': 'spoken word'}, {'name': 'Madonna', 'genre': 'pop'}, ] return render_to_response('musician_list.html',{'musicians':MUSICIANS})
urls.py
这里开通了django的后台管理的功能,1.0版本与0.96版本不太一样
from django.conf.urls.defaults import * # Uncomment the next two lines to enable the admin: from django.contrib import admin admin.autodiscover() #from test1.views.hello import current_time from test1.views import hello from test1.views import test_form from test1.views import login urlpatterns = patterns('', # Example: # (r'^test1/', include('test1.foo.urls')), #(r'^index/', include('test1.test.index')), (r'^now/$', hello.current_time), #(r'^now/plus(\d{1,2})hours/$', hello.hours_ahead), #(r'^now/minus(\d{1,2})hours/$', hello.hours_after), (r'^now/(plus|minus)(\d{1,2})hours/$', hello.hours_offset), (r'^tnow/$', hello.t_current_time), (r'^tlnow/$', hello.tl_current_time), (r'^rnow/$', hello.render_current_time), (r'^rlnow/$', hello.renderl_current_time), (r'^list/$', hello.musician_list), (r'^forms/$', test_form.search), (r'^login/$', login.login), # Uncomment the admin/doc line below and add 'django.contrib.admindocs' # to INSTALLED_APPS to enable admin documentation: # (r'^admin/doc/', include('django.contrib.admindocs.urls')), # Uncomment the next line to enable the admin: (r'^admin/(.*)', admin.site.root), )
数据库的简单操作:
这里与0.96似乎有很大的差别,
0.96的版本是class Admin: pass 这样加入admin的管理后台去
而1.0之后的版本则是通过admin.site.register(User) 这个语句是把User表加入到admin的管理后台去
另外也有变化,则需要参考文档,还没有使用那部分的功能
这是models.py
from django.db import models from django.contrib import admin # Create your models here. class User(models.Model): id = models.IntegerField(primary_key=True) username = models.CharField(max_length=150, blank=True) password = models.CharField(max_length=150, blank=True) class TUser(models.Model): username = models.CharField(max_length=150, blank=True) password = models.CharField(max_length=150, blank=True) admin.site.register(User) admin.site.register(TUser)
应用:test_form.py
#!/usr/bin/env python #-*-coding:utf-8-*- from django.db.models import query from django.db.models import Q from django.shortcuts import render_to_response from test1.db.models import TUser def search(request): queryStr=request.GET.get('q','') #print request.GET.get('q','') #查询所有的对象 #all=TUser.objects.all() #查询指定的对象 #all=TUser.objects.filter(username='test') #查询大于test2的对象 #all=TUser.objects.filter(username__gte='test2') #startswith 相当于WHERE username LIKE 'test%' #all=TUser.objects.filter(username__startswith='test').filter(password='test') #Q对象 |表示or &表示and qset=(Q(username='test6')&Q(password='test6')) all=TUser.objects.filter(qset) #if queryStr=='': # all=TUser.objects.all() #else: # all=TUser.objects.filter(username=queryStr) #print all #results = User.objects #if request.method=='POST': # print 1 #else: # print 2 return render_to_response('formtest.html',{'all':all,'queryStr':queryStr})
templates:formtest.html
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"> <html lang="en"> <head> <title>Search{% if query %} Results{% endif %}</title> </head> <body> <h1>Search</h1> <form action="." method="GET"> <label for="q">Search: </label> <input type="text" name="q" value="{{ queryStr|escape }}"> <input type="submit" value="Search"> </form> <ul> {% for a in all %} <li>{{a.username}}-------------{{a.password}}</li> {% endfor %} </ul> </body> </html>
用户登录例子:login.py
#!/usr/bin/env python #-*-coding:utf-8-*- from django.http import HttpResponse from test1.db.models import TUser from django.shortcuts import render_to_response def login(request): username=request.GET.get('username','') password=request.GET.get('password','') from django.db import connection cursor = connection.cursor() cursor.execute("SELECT count(*) FROM db_tuser WHERE username = %s group by id", [username]) row = cursor.fetchone() print row return testsss(username,password) #if request.session.get('username')==username: # return HttpResponse(username+' is login') # flag=checkLogin(username,password) # if flag==1: # request.session['username']=username # return HttpResponse('login success!') # else: # return HttpResponse('login error') #return render_to_response('login.html',{'username':username,'info':''}) def testsss(username,password): flag=checkLogin(username,password) if flag==1: return HttpResponse('login success!') else: return HttpResponse('login error') def checkLogin(username,password): try: m=TUser.objects.get(username=username) if password==m.password: #print 'login success' return 1 else: #print 'password is error' return 2 except: #print 'username is error' return 3
页面:login.html
{% extends "base.html" %} {% block title %}login{% endblock %} {% block content %} <form action="." method="GET"> <label for="q">login: </label> <div>用户名:<input type="text" name="username" value="{{ username|escape }}" /></div> <div>密码:<input type="password" name="password" value="" /></div> <div><input type="submit" value="login"></div> </form> <p> {% for a in info %} <div>username:{{a.username|escape}}------------password:{{a.password|escape}}</div> {% endfor %} </p> {% endblock %}
base.html
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"> <html lang="en"> <head> <title>{% block title %}{% endblock %}</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>
- test1.zip (14.8 KB)
- 下载次数: 512
发表评论
-
GAE发布
2010-04-24 10:42 3030很久没有写GAE的东西了,突然想写了点东西,很奇怪突然之间就传 ... -
摘自python cookbook2(文本文件)
2009-04-23 16:11 2589摘自python cookbook2(文本文件) url:ht ... -
摘自python cookbook1(字符串,字典)
2009-04-23 14:55 2599摘自python cookbook1(字符串,字典) url: ... -
flup安装问题
2009-03-23 19:02 9263在windows下flup一直安装不上,不知道为什么,在 ... -
xml的解析例子
2009-03-23 15:34 1482xml解析的一个例子,如下所示: #!/usr/bin/e ... -
python备份文件
2009-03-20 18:22 1498#-*-coding:utf-8-*- import o ... -
python 解析url
2009-03-20 18:13 5111摘录了dive into python的例子 有两种方法,HT ... -
使用python下载日志
2009-03-17 18:48 2811第一步:主要是读取配置文件的内容,以及把各种数据存放到文件里 ... -
python控制流
2008-12-21 16:27 1287条件语句: if expression: sta ... -
python类型转换、数值操作
2008-12-21 16:20 53852python类型转换 函数 ... -
python学习之类型和对象
2008-12-21 16:14 8537序列是由非负整数索引 ... -
Django 的数据库查询
2008-12-14 14:21 49817class Blog(models.Model): ... -
摘自python的文档
2008-12-11 09:15 1278Boolean Operations — and, o ... -
python发送email
2008-11-11 15:46 8356第一种方法: # -*- coding: utf-8 -* ... -
python的简单文件操作
2008-10-28 09:15 1774#-*-coding:utf-8-*- import o ... -
python的数据库链接
2008-10-28 09:13 2137附件中是添加到mysql的windows下的库安装程序 ... -
用python实现的时间函数
2008-10-28 09:11 4246#-*-coding:utf-8-*- import d ...
相关推荐
这个入门实例将引导我们了解如何利用Django进行用户信息的增删改操作,这也是Web应用中常见的功能需求。下面,我们将详细探讨这个主题。 首先,我们需要了解Django的基本结构。一个Django项目通常由多个应用程序...
**Django入门博客实例源码解析** Django是一款用Python编写的高级Web框架,它遵循“ Batteries Included ”的理念,提供了许多内置功能和强大的工具,让开发者能够快速地构建高质量的Web应用。在这个入门博客实例中...
以上内容涵盖了Django入门与实践的方方面面,从最基本的环境搭建到最终的项目部署。每个章节都紧密结合实践,穿插有实例和项目练习,使得教程既浅显易懂又具有实用性,非常适合对Python Web开发感兴趣的新手使用。...
标题“python_Django简单Demo_配合我的博客学习”表明这是一个针对初学者的Django教程实例,它通过一个简单的项目或应用,帮助读者理解Django的基本工作原理。这个项目可能包括了如何创建模型来存储数据、设计模板来...
现在,让我们通过"FirstProgram"来逐步解析Django的入门教程。 1. **安装Django**: 在开始前,确保已安装Python。然后,通过Python的包管理器pip安装Django,命令为`pip install django`。 2. **创建项目**: ...
1 第一讲 入门1.1 开篇1.2 Django的入门体验1.3 结论2 第二讲 生成一个web form 做加法的简单例子2.1 引言2.2 实现2.3 补充说明3 第三讲 使用Template的简单例子4 第四讲 生成csv格式文件并下载5 第五讲 session和...
总之,"Python Django快速入门系列的项目源码.zip"是一个很好的学习资源,它提供了实践Django的实例,让你能在实践中学习和掌握Django的各个方面。通过阅读和修改这些源代码,你将能更好地理解Web开发的流程,并逐渐...
8. **内置管理界面**: Django自动生成一个后台管理界面,用于管理数据库中的模型实例。 **DjangoBook学习资源** "Djangobook"可能是参考《The Django Book》这本开源教材,它为初学者提供了一条清晰的学习路径。书...
很实用的教程,看过就上手。以一个应用实例为例,清晰的解释了django架构的组成。
首先,在快速入门章节中,教程引导我们如何搭建一个项目,包括创建虚拟环境、安装Django和Django-REST-framework、创建项目以及APP,最后建立数据库迁移和超级管理员。这是进行Django REST API开发的基础准备工作。 ...
- **序列化Django对象**:这部分介绍了如何将Django模型实例转换为JSON或其他格式。 - **Django设置**:这里详细介绍了Django的配置选项及其用途。 - **信号**:信号是一种让不同组件之间通信的方式,这里介绍了如何...
模型类的实例化会自动创建数据库表,实现了ORM(对象关系映射)。 视图是应用的控制器,它接收HTTP请求,处理数据,并返回HTTP响应。Django支持函数式视图和类基视图,函数式视图更简洁,而类基视图提供了更多的...
Django入门笔记主要涵盖以下几个关键知识点: 1. **创建项目**:Django是Python的一款Web框架,用于快速开发高效、可维护的网站。创建项目是使用Django的第一步,通过命令行工具`django-admin startproject project...
1. **快速入门**:官方文档首先会介绍如何快速搭建Django环境,包括安装步骤、创建项目和应用、数据库配置等基础操作。新手开发者可以通过这些章节迅速上手。 2. **模型(Models)**:Django的核心之一就是ORM...
"Django step by step" 是一个逐步介绍如何入门Django的教程,旨在帮助初学者从简单的例子开始,逐步掌握这个强大的框架。 1. **开篇** Django 被誉为Python世界的Rails,其功能强大且社区活跃。相比Karrigell,...
《Django书PDF完整版》是一本详尽的指南,专为希望深入了解Django框架的开发者而编写。Django是一个开源的高级Python Web框架,它遵循MVC(模型-视图-控制器)架构模式,旨在简化开发过程,提高效率,同时保持代码的...
这个压缩包可能是《Python编程:从入门到实践》这本书中的一个实例,用于帮助读者理解和应用Django进行Web开发。 【描述】提到的“djangoweb demo”是一个Django Web应用的实例,意味着它包括了创建动态网站所需的...
Python Django的Web开发实例(入门)涵盖了使用Python语言和Django框架进行Web应用开发的初级知识。Django是一个高级的Python Web框架,它鼓励快速开发和干净、实用的设计。Django遵守“约定优于配置”的原则,这一...
2. Django入门 入门部分提供了快速安装指南,以及如何写作第一个Django应用的系列教程。这部分通常会指导新手开发者如何设置开发环境,创建项目和应用,并编写简单的视图、模板和表单。 3. 模型和数据库 这部分会...