这是一个手把手的实例教程,本来学习笔记一样,高手请飘过!!!
准备:
使用python27
django 1.4
操作系统 win7 64bit
第一步:
打开cmd输入命令 D:定位到D盘。
第二步: 在cmd中再输入
1
|
python D:/python27/Script/django-admin.py startproject mysite
|
如果项目创建成功。在D盘中应该可以看到多了一个mysite文件夹。
这个文件夹的结构应该是如下的:
1
2
3
4
5
6
7
|
mysite/
manage.py
mysite/
__init__.py
settings.py
urls.py
wsgi.py
|
为了更好地继续这个教程,我们把最外的文件夹mysite改为djangosite
也就是说改为这样的结构:
1
2
3
4
5
6
7
|
djangosite/
manage.py
mysite/
__init__.py
settings.py
urls.py
wsgi.py
|
第三步:安装后台管理系统
先连接数据库,这里我使用MySQL数据库。
先到mysite文件夹下打开settings.py文件,找到
1
2
3
4
5
6
7
8
9
10
|
DATABASES
=
{
'default'
: {
'ENGINE'
:
'django.db.backends'
,
# Add 'postgresql_psycopg2', 'mysql', 'sqlite3' or 'oracle'.
'NAME'
: '',
# Or path to database file if using sqlite3.
'USER'
: '',
# Not used with sqlite3.
'PASSWORD'
: '',
# 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.
}
}
|
我在phpmyadmin工具中创建了一个数据库叫django,并且我的数据库是没有密码的,所以我这样写:
我在phpmyadmin工具中创建了一个数据库叫django,并且我的数据库是没有密码的,所以我这样写:
1
2
3
4
5
6
7
8
9
10
|
DATABASES
=
{
'default'
: {
'ENGINE'
:
'django.db.backends.mysql'
,
# Add 'postgresql_psycopg2', 'mysql', 'sqlite3' or 'oracle'.
'NAME'
:
'django'
,
# Or path to database file if using sqlite3.
'USER'
:
'root'
,
# Not used with sqlite3.
'PASSWORD'
: '',
# Not used with sqlite3.
'HOST'
:
'localhost'
,
# Set to empty string for localhost. Not used with sqlite3.
'PORT'
: '',
# Set to empty string for default. Not used with sqlite3.
}
}
|
再找到这两行,
1
2
|
#'django.contrib.admin',
#'django.contrib.admindocs',
|
把这两行前面的#号去掉。
再打开urls.py文件,把
1
2
3
4
|
#from django.contrib import admin
#admin.autodiscover()
#url(r'^admin/doc/', include('django.contrib.admindocs.urls')),
#url(r'^admin/', include(admin.site.urls)),
|
找到这几行,也把前面的#号去掉。
到了这里,先运行MySQL数据库,再打开cmd,定位到djangosite目录下,输入命令:
1
|
python manage.py runserver
|
运行服务器
这时如果你看到:
Validating models…
o errors found …
等字样,说明你已经成功把django服务器运行起来了。
到了这里,再打开另外一个cmd窗口,再输入命令:
1
|
python manage.py syncdb
|
这里会提示你是否创建一个超级用户,输入yes,再输入email,和密码,当超级用户创建成功了的时候,再到浏览器里输入http://127.0.0.1:8000/admin这时就可以进行站点管理了!
第四步:创建blog app
到了这里,是时候创建我们的blog app的时候了。
在cmd窗口中输入:
1
|
python manage.py startapp blog
|
如果操作成功,你会在djangosite文件夹下看到已经多了一个叫blog的文件夹,里面包含如下文件:
1
2
3
4
5
|
blog/
__init__.py
models.py
tests.py
views.py
|
第五步: 创建模型
打开blog文件夹下的models.py文件。创建两个模型以及注册后台的管理
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
|
from
django.db
import
models
from
blog.models
import
*
from
django.contrib
import
admin
# Create your models here.
class
Post(models.Model):
title
=
models.CharField(max_length
=
64
)
pub_date
=
models.DateTimeField()
author
=
models.ForeignKey(
'Poster'
)
content
=
models.TextField()
def
__unicode__(
self
):
return
self
.title
class
Poster(models.Model):
gender_choices
=
(
(
'M'
,
'Male'
),
(
'F'
,
'Female'
)
)
name
=
models.CharField(max_length
=
30
)
email
=
models.EmailField()
age
=
models.IntegerField()
gender
=
models.CharField(max_length
=
1
,choices
=
gender_choices)
website
=
models.URLField()
def
__unicode__(
self
):
return
self
.name
class
Meta:
verbose_name
=
"Writer"
ordering
=
[
'age'
]
class
PostAdmin(admin.ModelAdmin):
list_display
=
(
'title'
,
'author'
,
'pub_date'
)
search_fields
=
(
'title'
,
'author'
,
'pubdate'
)
class
PosterAdmin(admin.ModelAdmin):
list_display
=
(
'name'
,
'email'
,
'website'
,
'gender'
)
search_fields
=
(
'name'
,
'email'
,
'age'
)
admin.site.register(Post, PostAdmin)
admin.site.register(Poster, PosterAdmin)
|
保存文件,再到cmd中输入:
1
|
python manage.py syncdb
|
这里再到管理后台看看,是不是看到奇迹了!在这里我们已经可以添加作者和文章了,都不用我们去创建数据库,django帮我们搞定了一切。