笑傲江湖

My Life and My Way...
  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

转:用Pydev快速搭建Django应用

Posted on 2011-03-17 23:42  Simon.Wong  阅读(856)  评论(0编辑  收藏  举报

一、安装Python2.6

二、配置Pydev

三、安装Mysql,创建空数据库mystie

四、安装MySQL-python-1.2.3.win32-py2.6.‌exe

五、下载并安装Django

六、前面都是为了配置开发环境的,接下来是步入正题——用Pydev快速构建Django应用:

1.创建工程:打开Eclipse,选择File->New->Project->Pydev->Pydev Django Project,工程名字我用的是mysite,接下来根据提示进行操作即可,需要注意的是,在配置Django Settings的时候,需要在选择的数据库上面预先建好一个空的数据库。Database Engine我选择的是MysqL。

工程建好后,打开settings.py,生成的数据库配置如下即正确:

DATABASES = {

    'default': {

        'ENGINE': 'django.db.backends.mysql', # Add 'postgresql_psycopg2', 'postgresql', 'mysql', 'sqlite3' or 'oracle'.

        'NAME': 'mysite',                      # Or path to database file if using sqlite3.

        'USER': 'root',                      # Not used with sqlite3.

        'PASSWORD': '123456',                  # Not used with sqlite3.

        'HOST': '',                      # Set to empty string for localhost. Not used with sqlite3.

        'PORT': '',                      # Set to empty string for default. Not used with sqlite3.

    }

}

右键选择工程->Run as->Pydev:Django,然后打开浏览器,输入http://127.0.0.1:8000/,如果出现It worked!,即OK。

2.创建应用:右键选中刚刚建立的工程->Django->Create application(manage.py startapp),输入应用名称polls,点击“完成”。

打开mysite.polls.models.py,修改为:

from django.db import models

import datetime

# Create your models here.

class Poll(models.Model):

    question = models.CharField(max_length=200)

    pub_date = models.DateTimeField('date published')

    def was_published_today(self):

        return self.pub_date.date() == datetime.date.today()

    def __unicode__(self):

        return self.question

class Choice(models.Model):

    poll = models.ForeignKey(Poll)

    choice = models.CharField(max_length=200)

    votes = models.IntegerField()

    def __unicode__(self):

        return self.choice

3.配置应用:打开mysite.settings.py,在INSTALLED_APPS中增加

'django.contrib.admin',#(默认的配置文件里面有,只需把注释去掉即可)

'mysite.polls'

4.激活管理功能:打开mysite.urls.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('',
    # Example:
    # (r'^mysite/', include('mysite.foo.urls')),

    # 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/', include(admin.site.urls)),
)

5.生成表:右键点击工程->Django->Sync DB(manage.py syncdb)

你会发现,已经自动根据模型为你建好了各种表。

6.生成数据:右键点击工程->Django->Shell with django environment

在打开的控制台中,复制下面内容进行粘贴,然后回车执行:

from mysite.polls.models import Poll, Choice

import datetime

Poll(question="What's up?", pub_date=datetime.datetime.now()).save()

p = Poll.objects.get(pk=1)

p.choice_set.create(choice='Not much', votes=0)

p.choice_set.create(choice='The sky', votes=0)

p.choice_set.create(choice='Just hacking again', votes=0)

p.save()

7.运行:右键选择工程->Run as->Pydev:Django,然后打开浏览器,输入http://127.0.0.1:8000/admin/,
如果出现登录页面,即OK。
注:每次修改settings.py,都需要执行步骤5,如果步骤7没有实现,检查配置过程是否出现问题,如果确认没有问题,
尝试下关掉Eclipse重新启动。