使用Django创建简易Blog
网上看了个例子,但是自己却运行不同,最后终于知道了原因,记录下来。原来没有给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
|
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帮我们搞定了一切。
使用Django创建简易Blog的更多相关文章
- django开发个人简易Blog——数据模型
提到数据模型,一定要说一下MVC,MVC框架是现代web开发中最流行的开发框架,它将数据与业务逻辑分开,减小了应用之间的高度耦合.个人非常喜欢MVC开发框架,除了具有上述特性,它使得web开发变得非常 ...
- Django初体验——搭建简易blog
前几天在网上看到了篇采用Django搭建简易博客的视频,好奇心驱使也就点进去学了下,毕竟自己对于Django是无比敬畏的,并不是很了解,来次初体验. 本文的操作环境:ubuntu.python2.7. ...
- django创建blog
如果本文看不懂的,去看的我视频吧!http://www.testpub.cn/ ------------------------------------------- Django 自称是" ...
- 用django搭建一个简易blog系统(翻译)(四)
12. Create the templates 你需要做三件事来去掉TemplateDoesNotExist错误 第一件,创建下面目录 * netmag/netmag/templates * net ...
- 用django搭建一个简易blog系统(翻译)(三)
06. Connecting the Django admin to the blog app Django 本身就带有一个应用叫作Admin,而且它是一个很好的工具 在这一部分,我们将要激活admi ...
- 用django搭建一个简易blog系统(翻译)(二)
03. Starting the blog app 在这部分,将要为你的project创建一个blog 应用,通过编辑setting.py文件,并把它添加到INSTALLED_APPS. 在你的命令行 ...
- 用django搭建一个简易blog系统(翻译)(一)
Django 入门 原始网址: http://www.creativebloq.com/netmag/get-started-django-7132932 代码:https://github.com/ ...
- Django创建一个简单的blog
1. 使用django-admin.py 创建mysite项目 sunny@sunny-ThinkPad-T450:~/PycharmProjects$ django-admin.py startpr ...
- 从开发到部署,使用django创建一个简单可用的个人博客
本文参考于: 简书-Django搭建简易博客教程:http://www.jianshu.com/p/d15188a74104 自强学堂-Django基础教程:http://www.ziqiangxue ...
随机推荐
- pygame编写贪吃蛇
一直想用pygame做一个小游戏的,可是因为拖延症的缘故一直没有动,结果那天看到了一个12岁的国际友人小盆友用pygame做的一款塔防游戏,突然感觉已经落后超级远了,所以心血来潮做小游戏了.高中陪伴我 ...
- 进阶:案例三: Upload File using WebDynpro
1.节点创建,其中DATASOURCE存放uploadfile名称 2.layout布局 3.upload事件代码: method ONACTIONUPLOAD . DATA: lo_Node typ ...
- 用DELPHI的RTTI实现对象的XML持久化
去年我花了很多时间尝试用DELPHI进行基于XML的WEB应用开发.起初的设想是很美好的,但结果做出来的东西很简陋.一部分原因就在于XML到Object之间的数据绑定实现太麻烦(另一部分是因为对XSL ...
- 有空研究一下OwnerDraw和三种Windows风格CS_OWNDC和CS_PARENTDC和CS_CLASSDC
就在StdCtrls.pas, ExtCtrls.pas和Buttons.pas三个类里研究就够了,这是初步的搜索结果: ---------- 在打开的文档中查找 ---------- "G ...
- Excel单元格内容太多会覆盖遮住下一单元格范围
Excel单元格内容太多会覆盖遮住下一单元格范围分步阅读 Excel中的单元格内容,有着不同的对齐方式.用户可根据自己的需求,在处理数据的时候,自行设置所需要的对齐方式. 当您在处理数据的时候,如果设 ...
- VIM 用正则表达式
VIM 用正则表达式 批量替换文本,多行删除,复制,移动 在VIM中 用正则表达式 批量替换文本,多行删除,复制,移动 :n1,n2 m n3 移动n1-n2行(包括n1,n2)到n3行之下: ...
- C++,Python,Go对照学习-02
main函数 Go中有且只有一个main函数,而且main函数必须在package main当中.main函数无返回值也无参数,如果希望获取从命令行传递的参数有其他包解决这个问题. ...
- Html 内嵌 选择器属性 Dom操作 JavaScript 事件
HTML标签: 一.通用标签(一般标签) 1.格式控制标签 <font color="#6699aa" face="楷体" size="24&q ...
- jQuery EasyUI API 中文文档 - 链接按钮(linkbutton)
<html> <head> <script src="jquery-easyui/jquery.min.js"></script> ...
- STM32M CUBE实现printf打印调试信息以及实现单字节接收
在写单片机程序时我们一般喜欢使用printf来通过串口打印调试信息,但这个函数是不能够直接使用的.必须做点对库函数的修改. 具体project下载地址: http://download.csdn.ne ...