django实例教程–blog

这是一个手把手的实例教程,本来学习笔记一样,高手请飘过!!!

准备:
使用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帮我们搞定了一切。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值