Django创建一个简单的blog

1. 使用django-admin.py 创建mysite项目

[email protected]:~/PycharmProjects$ django-admin.py startproject mysite

2. 进入项目目录中,启动服务器,测试连通性

[email protected]:~/PycharmProjects$ cd mysite/
[email protected]-ThinkPad-T450:~/PycharmProjects/mysite$ ./manage.py runserver 0.0.0.0:8000
Validating models...

0 errors found
April 29, 2016 - 06:20:27
Django version 1.6.5, using settings ‘mysite.settings‘
Starting development server at http://0.0.0.0:8000/
Quit the server with CONTROL-C.
[29/Apr/2016 06:20:33] "GET / HTTP/1.1" 200 1757

3. 创建blog应用

[email protected]:~/PycharmProjects/mysite$ ./manage.py startapp blog
[email protected]-ThinkPad-T450:~/PycharmProjects/mysite$ tree
.
├── blog
│   ├── admin.py
│   ├── __init__.py
│   ├── models.py
│   ├── tests.py
│   └── views.py
├── manage.py
└── mysite
    ├── __init__.py
    ├── __init__.pyc
    ├── settings.py
    ├── settings.pyc
    ├── urls.py
    ├── urls.pyc
    ├── wsgi.py
    └── wsgi.pyc

2 directories, 14 files

4. 告诉Django这个app是项目的一部分,编辑setting.py配置文件

INSTALLED_APPS = (   ‘django.contrib.auth‘,
    ‘django.contrib.admin‘,‘django.contrib.contenttypes‘,
    ‘django.contrib.sessions‘,
    ‘django.contrib.messages‘,
    ‘django.contrib.staticfiles‘,
    ‘blog‘, #添加的部分,注意后面的,号
)

5. 设计Model

基于Django的blog应用的核心部分:models.py。这是定义blog数据结构的地方。根据DRY(代码不重复)原则,Django会尽量利用你提供给应用程序的model信息。

5.1 在blog包下的models.py下编写下面代码:设置了3个变量,有一个默认的id变量,是自增的。(其实就是数据库列)

from django.db import models

class BlogPost(models.Model):
    title = models.CharField(max_length=150)
    body = models.TextField()
    timestamp = models.DateTimeField()

5.2 设置数据库(使用的是MySQL)

Django中默认使用的是SQLite,我在这里使用的是MySQL,则需要在配置文件中修改数据库的基本信息(首先创建数据库,名为djangodb):

DATABASES = {
    ‘default‘:{
        ‘ENGINE‘:‘django.db.backends.mysql‘,
        ‘NAME‘:‘djangodb‘,
        ‘USER‘:‘root‘,
        ‘PASSWORD‘:‘×××××ב,#连接数据库服务器的密码
        ‘HOST‘:‘localhost‘,
        ‘PORT‘:‘3306‘,
    }
}

5.3 创建表

[email protected]:~/PycharmProjects/mysite$ ./manage.py syncdb

当执行syncdb命令时,Django会查找INSTALLED_APPS里的每一个models.py文件,并为找到的每一个model都创建一张数据表。对照上图与配置文件INSTALLED_APPS中的参数,可以看到syncdb为每一个app都创建了一个或多个表。

syncdb命令的输出除了上图,还有

You just installed Django‘s auth system, which means you don‘t have any superusers defined.
Would you like to create one now? (yes/no): yes
Username (leave blank to use ‘sunny‘):
Email address:
Password:
Password (again):
Superuser created successfully.
Installing custom SQL ...
Installing indexes ...
Installed 0 object(s) from 0 fixture(s)

这才是完整输出。这之后,我在auth系统里建立了一个超级用户,便于加入Django的自动admin应用。

5.4 设置自动admin应用

  自动化的后台应用程序admin称得上是Django的明珠,为WEB应用创建简单CRUD接口的福音。由于这不是Django里的必要组件,则必须在setting.py文件里指定使用它。需要在INSTALLED_APPS元组里的‘django.contrib.auth‘下面添加一行‘django.contrib.admin‘;

  每次往项目中添加新的应用后,都要运行一下syncdb命令以确保它所需的表已经在数据库里创建。

  查看urls.py里的代码:

from django.conf.urls import patterns, include, url

from django.contrib import admin
admin.autodiscover()

urlpatterns = patterns(‘‘,
    # Examples:
    # url(r‘^$‘, ‘mysite.views.home‘, name=‘home‘),
    # url(r‘^blog/‘, include(‘blog.urls‘)),

    url(r‘^admin/‘, include(admin.site.urls)), #告诉Django去加载默认的admin站点,这是被用于contrib admin应用程序的一个特殊对象。
)

之后,需要将编辑的应用程序告诉Django要在admin窗口里显示哪一个model以供编辑。编辑blog中models.py中的代码,只需要定义之前提到的默认admin站点,并向其注册BlogPost model就行:

from django.db import models
from django.contrib import admin

class BlogPost(models.Model):
    title = models.CharField(max_length=150)
    body = models.TextField()
    timestamp = models.DateTimeField()

admin.site.register(BlogPost)

6. 使用admin

运行./manage.py runserver 命令,然后在浏览器里输入http://127.0.0.1:8000/admin/,则会出现一个登陆窗口

使用超级用户的用户名和密码登陆之后,会出现下面的界面:

点击BlogPost后面的添加,里面会出现model中的三个元素title、 body、timestampe,添加完后点击save;

在models.py文件里再添加一个BlogPostAdmin类,并将它添加到注册代码中去:

from django.db import models
from django.contrib import admin

class BlogPost(models.Model):
    title = models.CharField(max_length=150)
    body = models.TextField()
    timestamp = models.DateTimeField()
class BlogPostAdmin(admin.ModelAdmin):
    list_display = (‘title‘,‘timestamp‘)

admin.site.register(BlogPost,BlogPostAdmin)

根据BlogPostAdmin类中的list_display变量(title,timestamp)来生成输出;

7. 建立Blog的公共部分

这部分是面向公众的页面部分。从Django的角度来说,一个页面具有三个典型的组件:

  • 一个模板(template),负责将传递进来的信息显示出来(用一种类似Python字典的对象Context)。
  • 一个视图(view),负责获取要显示的信息,通常都是从数据库里取得。
  • 一个URL模式,用来把收到的请求和视图函数匹配,有时会向视图传递一些参数。

7.1 创建模板(template)

时间: 2024-08-25 21:17:09

Django创建一个简单的blog的相关文章

django创建一个简单的web站点

一.新建project 使用Pycharm,File->New Project-,选择Django,给project命名 (project不能用test命名) 新建的project目录如下: settings.py:工程相关的配置 urls.py:网站访问入口,对应到views wigs.py:部署相关 manage.py:执行命令 templates:html等静态文件 备注:新建工程后需要安装django的lib包,然后验证django是否安装成功 >>> import dja

Django入门第一步(安装和创建一个简单的项目)

目录 Django入门第一步(安装和创建一个简单的项目) 一. Django项目目录结构 二.注意事项 三.Django安装 3.1.安装命令 3.2.验证django是否安装成功 3.3.使用方法 Django入门第一步(安装和创建一个简单的项目) 在使用Django框架开发web应用程序时,开发阶段同样依赖wsgiref模块来实现Server的功能,我们使用Django框架是为了快速地开发application. 如果使用的是我们自定义的框架来开发web应用,需要事先生成框架包含的一系列基础

Django:快速搭建简单的Blog

一,创建项目 1, 为blog创建名为mysite的工程项目: django-admin.py startproject mysite 2, 项目结构如下: mysite ├── manage.py └── mysite ├── __init__.py ├── settings.py ├── urls.py └── wsgi.py manage.py ----- Django项目里面的工具,通过它可以调用django shell和数据库等. settings.py ---- 包含了项目的默认设置

IntelliJ IDEA 15 部署Tomcat及创建一个简单的Web工程

一.部署Tomcat 二.创建一个简单的Web工程 2.1创建一个新工程 创建一个新工程 设置JDK及选择Web Application (创建的是Web工程) 点击Next,选择工作空间,起个工程名 2.2项目部署 在工具栏点击 Project: 无需任何设置,选择默认编译目录(或自定义编译目录) Modules: 将Tomcat加入 Libraries:无需任何设置.这里描述了此项目的依赖. Facets: 无需任何设置.这里描述了此项目所适配的服务框架 Artifacts: 无需任何配置.

mysql 如何创建一个简单的存储过程

1 用mysql客户端登入2 选择数据库 mysql>use test3 查询当前数据库有哪些存储过程 mysql>show procedure status where Db='test'4 创建一个简单的存储过程 mysql>create procedure hi() select 'hello'; 5 存储过程创建完毕,看怎么调用它 mysql>call hi();显示结果 mysql> call hi(); +-------+ | hello | +-------+

《Entity Framework 6 Recipes》翻译系列 (3) -----第二章 实体数据建模基础之创建一个简单的模型 (转)

第二章 实体数据建模基础 很有可能,你才开始探索实体框架,你可能会问“我们怎么开始?”,如果你真是这样的话,那么本章就是一个很好的开始.如果不是,你已经建模,并在实体分裂和继承方面感觉良好,那么你可以跳过本章. 本章将带你漫游使用实体框架建模的基本实例,建模是实体框架的核心特性,同时也是区别实体框架和微软早期的数据访问平台的特性.一旦建好模,你就可以面向模型编写代码,而不用面向关系数据库中的行和列. 本章以创建一个简单概念模型的实例开始,然后让实体框架创建底层的数据库,剩下的实例,将向你展示,如

如何利用CEF3创建一个简单的应用程序 (Windows Platform)

1. 说明 这篇文章主要讲述如何利用CEF3来创建一个简单的应用程序,引用的是1535及以上版本中包含的 Cefsimple 项目例子.如果想知道关于CEF3更多的使用方法,可以去访问 GeneralUsage. 2. 开始 首先,根据自身所使用的开发平台,可以去 这里 下载对应的发布版本.针对这个教程,我们需要下载1750或者更新的版本.当前支持的平台有Windows, Linux和Mac OS X.每一个版本都包含了当在特定平台上编译特定版本CEF3时所需要的所有文件和资源.您可以通过包含在

[安卓基础] 005.创建一个简单的UI

*:first-child { margin-top: 0 !important; } body > *:last-child { margin-bottom: 0 !important; } a { color: #4183C4; text-decoration: none; } a.absent { color: #cc0000; } a.anchor { display: block; padding-left: 30px; margin-left: -30px; cursor: poin

SharePoint 创建一个简单的Web Part 部分

SharePoint 创建一个简单的Web Part 部分 标准Web零件有时会很强大,运行多个功能的能力. 本文介绍了如何使用Visual Studio 创建一个简单的Web部分. 1. 打开VS,点击文件----新建项目. 2. 选择空白SharePoint项目.命名SmallvilleWebPartProject,点击确定.选择部署为场解决方式. 3. 右击项目加入新项目. 4. 选择Web部件. 5. 命名CustomerInformation,点击加入. 6. 右击新的Web部件项目.