当前位置:首页 > 开发 > 编程语言 > 编程 > 正文

Django起步

发表于: 2012-06-13   作者:bee1314   来源:转载   浏览次数:
摘要: 编写第一个Django的应用(第一部分)(官方tutorail) 我们先编写一个最基本的投票应用,包含两个部分:     1. 一个公告的站点供用户查看投票的问题,和进行投票     2. 一个管理员站点,我们可以添加,修改,删除投票   在开始之前,搭建开发环境:      pip install vi

编写第一个Django的应用(第一部分)(官方tutorail)

我们先编写一个最基本的投票应用,包含两个部分:

    1. 一个公告的站点供用户查看投票的问题,和进行投票

    2. 一个管理员站点,我们可以添加,修改,删除投票

 

在开始之前,搭建开发环境:

    

pip install virtualenvwrapper
mkvirtualenv django-env
pip install django

 

 

1. 创建项目

使用django提供的创建项目的工具 自动生成django实例的一些代码,包括数据库的配置,django的细节的选项,已经应用的特定的设置。

 

django-admin.py startproject mysite

 

mysite:

    包含了我们的项目,你可以任意命名你喜欢的名字

manage.py:

    命令行的工具,让我们可以通过各种方式和django项目进行交互。

mysite:

    对于我们项目来说就是一个python的包, 如果你想使用内部的任何东西如果settings。可以这样, import mysite.setttings

__init__.py

    一个空文件告诉python,这个目标要被看作成一个包。

settings.py:

    python的配置文件

urls.py:

    对于django项目中URL的声明。

wsgi.py 

    一个WSGI兼容的webserver的进入点。

 

进入mysite目录,启动server:

python manage.py runserver

 

这样我们就开启了django的默认的开发server,一个用python实现的轻量级的server。不要用在正式的项目环境。

然后打开浏览器访问:http://127.0.0.1:8000/

 

如果想改变默认的端口:

python manage.py runserver 8080

 

如果想让其他的人也可以访问:

python manage.py runserver 0.0.0.0:8000

 

 

数据库的配置:

编辑mysite/settings.py,找到DATABASES:

    1. ENGINE:数据的引擎支持,MySQL PostgreSQL,Oracle,SQLite等。

    2. NAME:数据库的名字

    3. USER:用户名

    3.PASSWORD:密码

    4.HOST:数据库的地址

 

时区的设置:

    TIME_ZONE:Asia/Shanghai 

 

语言的设置:

    LANGUAGE_CODE:zh-cn

 

已经安装的应用

    django-contrib.auth:一个认证系统

    django-contrib.contenttypes:内容类型

    django.contrib.sessions:session框架

    django.contrib.sites:管理多个站点在一个django安装里

    django.contrib.messages:一个消息框架

    django.contrib.staticfiles:一个管理静态文件的框架

 

配置好数据库之后,我们需要创建一些表,为了做这些,可以用:

python manage.py syncdb

 

创建模型

我们用django写的每一个应用都是由一个python的包组成。django可以自动生成一些基本的app的目录结构,所以我们可以更加专注在代码上而不是创建目录结构、

 

Projects VS app

 

项目和应用的区别?

一个项目包含了多个应用如(blog, poll),一个应用也可能在多个项目中

 

我们来创建一个投票的应用

python manage.py startapp polls

 

polls/

    __init__.py

    models.py

    tests.py

    views.py

 

这个就是我们投票的目录。在我们简单的投票系统中,我们有两个模型,一个投票的问题一个选项

 

from django.db import models
class Poll(models.Model):
    question = models.CharField(max_length=200)
    pub_date = models.DateTimeField("date published")
    class Choice(models.Model):
        poll = models.ForeignKey(Poll)
        choice = models.CharField(max_length=200)
        votes = models.IntegerField()

 

 

在settings中注册这个应用:

INSTALLED_APPS = (

'django.contrib.auth',

'django.contrib.contenttypes',

'django.contrib.sessions',

'django.contrib.sites',

'django.contrib.messages',

'django.contrib.staticfiles',

# Uncomment the next line to enable the admin:

# 'django.contrib.admin',

# Uncomment the next line to enable admin documentation:

# 'django.contrib.admindocs',

'polls',

)

 

然后可以用:

python manage.py sql polls查看poll的sql

 

BEGIN;
CREATE TABLE "polls_poll" (
"id" integer NOT NULL PRIMARY KEY,
"question" varchar(200) NOT NULL,
"pub_date" datetime NOT NULL
)
;

 CREATE TABLE "polls_choice" (

"id" integer NOT NULL PRIMARY KEY,

"poll_id" integer NOT NULL REFERENCES "polls_poll" ("id"),

"choice" varchar(200) NOT NULL,

"votes" integer NOT NULL

)

;

COMMIT;

 

 

然后生成table:

python manage.py syncdb

Django起步

  • 0

    开心

    开心

  • 0

    板砖

    板砖

  • 0

    感动

    感动

  • 0

    有用

    有用

  • 0

    疑问

    疑问

  • 0

    难过

    难过

  • 0

    无聊

    无聊

  • 0

    震惊

    震惊

推荐文章
编辑推荐
1 django
django url 一个干净的,优雅的URL 方案是一个高质量Web 应用程序的重要细节。 这节我们来看看djang
1.复制 hsqldb.jar 到 "d:\db" 2.运行 hsqldb.jar 3. 4.先关闭后运行 运行: public class TestHsqld
1.复制 hsqldb.jar 到 "d:\db" 2.运行 hsqldb.jar 3. 4.先关闭后运行 运行: public class TestHsqld
Vagrant是一个基于Ruby的工具,用于创建和部署虚拟化开发环境。它使用Oracle的开源VirtualBox虚拟化
Android 系统架构 Android 大致可以分为四层架构,五块区域。 1. Linux 内核层 Android 系统是基于 L
在自己的服务器上托管这些文件时,需要确认服务器端会在客户端支持时启用gzip压缩,这将令jQuery Mo
程序越来越大,为了让程序更快地响应用户的输入,需要执行性能测试,最近在研究性能测试,就从这篇
nodeJS起步 -- (1) 先来简单介绍nodeJS   我们知道JavaScript是运行在浏览器中的,浏览器为它提
开发Windows Phone 8 当然得用强大的Visual Studio了,版本用VS for Windows Phone 就已经足够, 这
翻译自:Getting Started With Storm (作者:Jonathan Leibiusky, Gabriel Eisbruch and Dario Sim
版权所有 IT知识库 CopyRight © 2009-2015 IT知识库 IT610.com , All Rights Reserved. 京ICP备09083238号