Django是神马?

Django是一个开源免费的Web框架,使用Python编写。能够让你快速写出一个Web应用, 因为它包含了绝大部分的组件,比如认证,表单,ORM,Session,安全,文件上传,页面模板等,避免了重复造轮子。

官方网站:https://www.djangoproject.com/

笔者写这篇教程的时候,最新版本是1.9

安装Django1.9

安装python虚拟环境

为了开发应用的时候使用单独的环境,最好是安装virtual environment, 这样有很好的独立性,可以在里面乱搞而不会影响到其他的应用开发。

下面我以cetnos6.5测试环境为例子介绍怎样去安装python的virtual environment, 该测试机的IP地址是192.168.203.95。

1,先安装python3

centos6.5上面默认没有安装python3,那么需要先安装python3。 注意不能简单的使用yum去安装。关于这个教程,可以去网上搜索下。

笔者给出一个参考:[centos6上面安装python3.5][http://www.jianshu.com/p/6199b5c26725]

2, 安装virtualenv

1
pip3 install virtualenv

关于virtualenv的详细说明,请参考文档:[virtualenv][https://virtualenv.pypa.io/en/latest/]

3,创建一个文件夹叫simpleblog

1
2
mkdir simpleblog
cd simpleblog

4,创建虚拟环境myenv

1
python3 -m venv myvenv

5,激活虚拟环境

1
source myvenv/bin/activate

如果看到下面这个提示,说明成功进入了虚拟环境:(myvenv) ~/simpleblog$

这时候可以使用python来代替python3了。

6,在虚拟环境中安装django1.9

(myvenv) ~$ pip install django==1.9.5
Downloading/unpacking django==1.9.5
Installing collected packages: django
Successfully installed django
Cleaning up...

OK,到此为止,django环境已经搞定了。

生成项目骨架

我们将要创建一个简单的博客。接下来一步是生成项目骨架,Django为我们提供了很多有用的脚本让我们可以很方便的使用简单的命令即可生成基本的目录和文件。

对于生产的文件和目录名称请不要随意去修改,也不要随意去移动文件的位置,因为这些都是约定好的。Django会根据特定的结构去查找对应的文件。

注意:记住在虚拟环境中运行的一切。如果您没有看到您的控制台中的前缀 (myvenv),您需要激活您的虚拟环境。 我们在 Django 安装这一节内的 在虚拟环境下工作 部分中解释过了。 在windows下面运行命令:myvenv\Scripts\activate,在苹果或linnux环境下运行命令:source myvenv/bin/activate

假设你已经在刚刚的simpleblog目录中了,那么执行下面的命令:

(myvenv) [mango@centos00 simpleblog]$ django-admin.py startproject mysite

会自动在simpleblog目录中生成一个mysite目录,进入mysite目录,会是下面的结构:

myste
├───manage.py
└───mysite
settings.py
urls.py
wsgi.py
__init__.py
  • manage.py是管理网站的脚本,可以使用它来启动一个简单的web服务器,这个对于开发调试非常有用。
  • setting.py是工程的核心配置文件。
  • urls.py是路径配置文件,可以配置URL到实际Controller的映射关系。

修改默认配置

我们可以试着去修改下setting.py配置文件中的时区配置,改为你所在的地区的时区。 关于时区可以参考:http://en.wikipedia.org/wiki/List_of_tz_database_time_zones 因为我现在在中国大陆地区,所以把它改成了这样:

LANGUAGE_CODE = 'zh-cn'
TIME_ZONE = 'Asia/Shanghai'

配置数据库

目前使用默认的sqlite3即可,最简单,什么依赖都没有。

1
2
3
4
5
6
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.sqlite3',
'NAME': os.path.join(BASE_DIR, 'db.sqlite3'),
}
}

为我们的博客系统生成数据库,我们需要运行下面的命令:

(myvenv) [mango@centos00 mysite]$ python manage.py migrate

出现如下的信息表示成功了:

Operations to perform:
Apply all migrations: sessions, contenttypes, admin, auth
Running migrations:
Applying contenttypes.0001_initial... OK
Applying auth.0001_initial... OK
Applying admin.0001_initial... OK
Applying sessions.0001_initial... OK

运行服务器

接下来我们通过manage.py来运行服务器

(myvenv) [mango@centos mysite]$ python manage.py runserver 192.168.203.95:8000

然后在浏览器中打开这个地址:http://192.168.203.95:8000/

按CTRL+C可以停止服务器

如果你看到下面这个页面,那么恭喜你,成功入门。

Django开发博客 入门篇的更多相关文章

  1. django开发博客(1) 入门

    现在正式开始博客开发 1.安装django1.4 如果你使用的是fedoraDVD版,安装时选择了web开发组建,这一步可以省略,因为它自带django环境 django下载地址 https://ww ...

  2. 纯django开发博客系统

    企业级教程:纯django开发博客系统 1.视频教程 https://www.duanshuilu.com/ 2.教程文档 https://www.duanshuilu.com/ 0.课程简介1.简价 ...

  3. 使用django开发博客过程记录3——博客侧栏实现

    说起这个侧栏真是苦恼我很长时间,一开始以为和之前的一样传递额外参数就可以了就像下面这样: class IndexView(ListView): template_name = 'apps/index. ...

  4. Django开发博客- 三部曲

    其实在django中实现一个功能只需要三个步骤即可,这里我姑且叫它三部曲. 这三部曲就是: 定义urls映射 定义views 定义templates 什么是URL? URL就算一个WEB地址,你在浏览 ...

  5. 使用django开发博客过程记录4——Category分类视图

    在写点击博客的所属分类,显示所有该分类的文章时真是让我想了好一会,为什么呢?因为我使用的是cbv模式开发的而不是简单的视图处理逻辑的,所以,有些操作会被包装好了,你并不知道它的细节,那么我们今天要实现 ...

  6. Django开发博客- 模型

    django的模型就是用于在数据库中存储的某种类型的对象.在我们的博客系统中, 发表的文章就是一个模型,需要存储在数据库中. 这里我们使用django默认的sqlite3库,对于我们的这个小系统而言已 ...

  7. 使用django开发博客过程记录5——日期归档和视图重写

    针对每条博客的观看次数我么是使用django的Mixin实现的: def get(self, request, *args, **kwargs): last_visit = request.sessi ...

  8. 使用django开发博客过程记录2——博客首页及博客详情的实现

    1.什么是CBV(Class-based views) 2.博客首页及博客详情实现 1.什么是CBV 什么是CBV?说白了就是以前是视图为处理请求返回响应的函数,有了cbv之后我们就可以用类处理请求和 ...

  9. Django开发博客- 部署

    安装Git Git是一个被大量程序员使用的”版本控制系统”.此软件可以跟踪任何时间文件的改变,这样你以后可以随时召回某个特定版本. windows系统下面可以下载git-scm安装.除了第5步”Adj ...

随机推荐

  1. Duilib中系统消息在自己窗口类的使用

    这些Win32消息响应函数,子类只需要重写,不需要在HandleMessage里面再调用一次 开发中遇到的问题,在任务栏关闭程序,会响应WM_SYSCOMMAND消息,因为要给用户提示是否关闭,所以需 ...

  2. Struts2的标签库(五)——表单标签

    Struts2的标签库(五) --表单标签 几个特殊的表单标签的使用: 1.checkboxlist标签 该标签用于创建多个复选框,用于同时生成多个<input type="check ...

  3. CronTrigger:Corn表达式

    定时触发 CronTrigger CronTriggers往往比SimpleTrigger更有用,如果您需要基于日历的概念,而非SimpleTrigger完全指定的时间间隔,复发的发射工作的时间表.C ...

  4. js将数组元素随机排序的方法

    在群里看见的一个面试题,试了一下,还是可以做出来的,但是需要查资料,主要是岁一些方法了解的不清楚,可能这个跟我平时不太注重基础理论有关系,像什么构造函数啊,我根本就不关心什么叫构造函数,我一直都以为我 ...

  5. ICP(迭代最近点)算法

    图像配准是图像处理研究领域中的一个典型问题和技术难点,其目的在于比较或融合针对同一对象在不同条件下获取的图像,例如图像会来自不同的采集设备,取自不同的时间,不同的拍摄视角等等,有时也需要用到针对不同对 ...

  6. [CF733D]Kostya the Sculptor(贪心)

    题目链接:http://codeforces.com/contest/733/problem/D 题意:给n个长方体,允许最多两个拼在一起,拼接的面必须长宽相等.问想获得最大的内切圆的长方体序号是多少 ...

  7. QUEEN_BLADE_2D-非常屌-113P

    http://www.cgvoo.com/thread-33670-1-2.html http://blog.sina.com.cn/s/blog_4b92d6070102e7gj.html http ...

  8. 起点CG原创教程——digicel.FlipBook.6教程

    http://blog.renren.com/blog/262793929/473221163

  9. [SAP ABAP开发技术总结]FTP到文件服务器,服务器上文件读写

    声明:原创作品,转载时请注明文章来自SAP师太技术博客( 博/客/园www.cnblogs.com):www.cnblogs.com/jiangzhengjun,并以超链接形式标明文章原始出处,否则将 ...

  10. [SAP ABAP开发技术总结]面向对象OO

    声明:原创作品,转载时请注明文章来自SAP师太技术博客( 博/客/园www.cnblogs.com):www.cnblogs.com/jiangzhengjun,并以超链接形式标明文章原始出处,否则将 ...