django是一个基于python语言的服务器框架,能够帮助我们轻易开发一个web应用,下面记录一些简单的安装使用方法。
sudo pip install Django==1.5.1
创建一个新的web服务(mysite,可以进行路由路径配置,数据库配置等)
django-admin.py startproject mysite
创建一个新的web应用(books,具体代码实现)
manage.py start app books
类似MVC框架,django提供model,view等模块供我们使用(不过django的model更类似于数据库定义,view类似MVC中的controller,template才是MVC中的view)编辑代码如下
books/models.py
from django.db import models # Create your models here. class Publisher(models.Model): name = models.CharField(max_length=30) address = models.CharField(max_length=50) city = models.CharField(max_length=60) state_province = models.CharField(max_length=30) country = models.CharField(max_length=50) website = models.URLField() def __unicode__(self): return self.name #class Author(models.Model): # first_name = models.CharField(max_length=30) # last_name = models.CharField(max_length=40) # email = models.EmailField() # # def __unicode__(self): # return u'%s %s' % (self.first_name, self.last_name) #class Book(models.Model): # title = models.CharField(max_length=100) # authors = models.ManyToManyField(Author) # publisher = models.ForeignKey(Publisher) # publication_date = models.DateField() # # def __unicode__(self): # return self.title
books/views.py
# Create your views here. from django.shortcuts import render_to_response from books.models import Publisher def list_publishers(request): publishers = Publisher.objects.all() return render_to_response('list_publishers.html', {'publishers': publishers})
templates/list_publishers.html
<table> {% for p in publishers %} <tr> <td>Id #{{ p.id }}</td> <td>Name #{{ p.name }}</td> </tr> {% endfor %} </table>
自定义配置web,设置数据库连接等
mysite/settings.py
INSTALLED_APPS = ( 'books', ) DATABASES = { 'default': { 'ENGINE': 'django.db.backends.sqlite3', # Add 'postgresql_psycopg2', 'mysql', 'sqlite3' or 'oracle'. 'NAME': '/home/ciaos/django.sqlite3', # Or path to database file if using sqlite3. # The following settings are not used with sqlite3: 'USER': '', 'PASSWORD': '', 'HOST': '', # Empty for localhost through domain sockets or '127.0.0.1' for localhost through TCP. 'PORT': '', # Set to empty string for default. } } TEMPLATE_DIRS = ( '/home/ciaos/mysite/templates', )
mysite/urls.py(利用python强大的正则表达式配置路由)
urlpatterns = patterns('', # Examples: # url(r'^$', 'mysite.views.home', name='home'), # url(r'^mysite/', include('mysite.foo.urls')), # Uncomment the admin/doc line below to enable admin documentation: # url(r'^admin/doc/', include('django.contrib.admindocs.urls')), # Uncomment the next line to enable the admin: url(r'^publishers/',list_publishers) )
python manager.py syncdb同步models到数据库
通过python manage.py shell简单操作查询数据库
运行数据库如下(如果要后台运行可以使用nohup)
python manage.py runserver
用ab测试
ciaos@linux-53dr:~/mysite> sudo /usr/sbin/ab2 -c 10 -n 10000 http://127.0.0.1:8000/publishers/ This is ApacheBench, Version 2.3 <$Revision: 655654 $> Copyright 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/ Licensed to The Apache Software Foundation, http://www.apache.org/ Benchmarking 127.0.0.1 (be patient) Completed 1000 requests Completed 2000 requests Completed 3000 requests Completed 4000 requests Completed 5000 requests Completed 6000 requests Completed 7000 requests Completed 8000 requests Completed 9000 requests Completed 10000 requests Finished 10000 requests Server Software: WSGIServer/0.1 Server Hostname: 127.0.0.1 Server Port: 8000 Document Path: /publishers/ Document Length: 69 bytes Concurrency Level: 10 Time taken for tests: 49.311 seconds Complete requests: 10000 Failed requests: 0 Write errors: 0 Total transferred: 2020000 bytes HTML transferred: 690000 bytes Requests per second: 202.80 [#/sec] (mean) Time per request: 49.311 [ms] (mean) Time per request: 4.931 [ms] (mean, across all concurrent requests) Transfer rate: 40.00 [Kbytes/sec] received Connection Times (ms) min mean[+/-sd] median max Connect: 0 2 38.6 0 1001 Processing: 22 47 82.8 36 2562 Waiting: 6 41 82.7 31 2553 Total: 22 49 91.3 36 2562 Percentage of the requests served within a certain time (ms) 50% 36 66% 39 75% 41 80% 42 90% 52 95% 63 98% 100 99% 428 100% 2562 (longest request)
并发数据等没有参考意义,因为是在我笔记本的虚拟机上测试的,主要是与tornado服务器做对比。用django实现一个简易的web应用还是非常方便的。
相关推荐
书中详细介绍了如何搭建一个Django项目,包括创建虚拟环境、安装Django、定义项目结构、配置settings.py文件等。同时,James Bennett还讲解了Django的开发流程,如使用makemigrations和migrate命令管理数据库迁移,...
本资源提供了四个知名Web框架——Django、Tornado、Flask和Twisted的随书完整源代码,帮助开发者深入理解和实践这些框架,提升开发效率。以下是对这四个框架的详细介绍: 1. Django:Django是一个高级的Python Web...
【标题】"udemy_django_stripe:Udemy 课程——learn-django-code-accept-payments-with-stripe" 指的是一个Udemy在线课程,该课程旨在教授如何使用Django框架集成Stripe支付服务,使用户能够在网站上安全地处理在线...
【标题】:“django——从博客开始” 在Python的Web开发领域,Django是一个非常流行的开源框架,它以其“快速开发、清晰设计、可重用性”为核心理念。本教程将带你从零开始,通过构建一个博客系统来学习Python和...
配置过程包括安装mod_python、配置Apache虚拟主机以及设置Django项目的路径等步骤。 **2. Grappelli简介** Grappelli是Django管理界面(admin site)的前端框架,它提供了一套美观的皮肤,使得默认的Django管理...
7. **设置URL路由**:配置Django的URL路由,使用户能够访问到启动爬虫的页面和查看结果的页面。 8. **部署和测试**:将项目部署到服务器,确保所有组件正常工作,测试启动爬虫、查看结果等功能是否顺畅。 通过以上...
1. **Django安装与配置**:安装Django、创建项目、配置数据库等。 2. **模型层(Model)**:定义数据模型、自定义字段、关系字段等。 3. **视图层(View)**:处理请求、返回响应、使用模板等。 4. **模板系统**:...
首先,我们来看 `django-redis` 的核心功能——缓存后端。Django 自带的缓存系统支持多种数据库,包括 Memcached 和数据库缓存。然而,Redis 以其高速读写性能、丰富的数据结构以及分布式支持,成为了许多开发者首选...
在这个例子中,我们实现了简单的URL路由和模板替换,但实际的Web框架如Django提供了更高级的特性,如自动化URL配置、ORM(对象关系映射)以处理数据库操作,以及强大的模板语言,让开发者能更专注于应用逻辑而非底层...
- 验证Django是否安装成功,运行`python -c "import django; print(django.get_version())"`。 2. **创建Django项目** - 进入项目创建的目录,使用命令`django-admin.py startproject projectname`创建项目,其中...
3. 更新`DjangoTest/urls.py`配置,定义两个路径:`'get/'`对应`search_get`函数,展示表单页面;`'search/'`对应`search`函数,处理GET请求中的数据。 当用户访问`http://127.0.0.1:8000/get/`,他们会看到表单...
### Django 安装与配置 #### 1. Conda 创建环境 使用 Conda 环境可以帮助隔离 Django 项目的依赖关系,避免不同项目间的依赖冲突。 1. **安装 Conda**:如果还未安装 Conda,可以从官网下载并安装 Anaconda 或 ...
如果未安装,可以使用`pip install django`进行安装。 创建新项目: 1. 打开命令行或终端,进入你希望创建项目的目录,然后运行`django-admin startproject UUBlog`。这将创建一个名为"UUBlog"的目录,其中包含...
Django采用了MVC(Model-View-Controller)设计模式的变体——MTV(Model-Template-View)。在这个模式中,Model负责处理数据和业务逻辑,View负责处理用户的请求并将数据传递给Template,而Template则负责将数据...
【基于Python+Django的管理信息系统——学生成绩管理系统】 Python和Django是现代Web开发中的强大组合,尤其适用于快速构建高效、可扩展的管理信息系统。在这个基于Python和Django的学生成绩管理系统中,我们可以...
2. **安装与设置**:这部分会指导读者如何在本地环境中安装Django,包括依赖项的安装、环境配置以及项目和应用的创建。同时,也会涉及虚拟环境的使用和管理,确保开发环境的隔离。 3. **模型(Model)**:模型是...
### Django 1.0以上版本教材——DjangoBook 2.0中文版解析 #### 一、概述 《DjangoBook 2.0》是一本针对Django 1.0以上版本的教材,旨在帮助读者深入理解并掌握Django框架的各个方面。这本书不仅适合初学者入门,...
\n\n**Django的安装与运行**\n\n安装Django非常简单,只需要使用Python的包管理工具pip,输入`pip install django`即可。\n\n创建一个新的Django项目,可以使用`django-admin startproject project_name`命令。例如...
【标题】: "用Python和Django实现多用户博客系统——UUBlog" 在Web开发领域,Python的Django框架以其高效、安全和易于使用的特性,成为构建复杂Web应用程序的热门选择。本项目"UUBlog"就是利用Django框架构建的一个...
安装完成后,在Django项目的`settings.py`中添加`django_restql`到`INSTALLED_APPS`列表,并按照官方文档或示例代码配置和使用该库。 **应用场景** `django_restql`适用于那些需要高效、灵活的API查询接口的项目,...