网上看了个例子,但是自己却运行不同,最后终于知道了原因,记录下来。原来没有给settings.py里的INSTALLED_APPS添加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
 | fromdjango.db importmodelsfromblog.models import*fromdjango.contrib importadmin# Create your models here.classPost(models.Model):    title =models.CharField(max_length=64)    pub_date =models.DateTimeField()    author =models.ForeignKey('Poster')    content =models.TextField()    def__unicode__(self):        returnself.titleclassPoster(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):        returnself.name    classMeta:        verbose_name ="Writer"        ordering =['age']classPostAdmin(admin.ModelAdmin):    list_display =('title','author','pub_date')    search_fields =('title','author','pubdate')classPosterAdmin(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帮我们搞定了一切。
 
                    
                     
                    
                 
                    
                 
 
         
                
            
         浙公网安备 33010602011771号
浙公网安备 33010602011771号