二、开发环境和Django安装
1.开发环境
Python3.4.1
Django1.7.1
Bootstrap3.3.0 or Pure #一种前端框架,写网页用的。
Sublime Text 3 #代码编辑器
virtualenv 1.11.6 #一个用来创建独立的Python环境的包
关于模块与包:包是为了避免模块重名而将模块放入的一个目录
https://www.liaoxuefeng.com/wiki/001374
2.Git安装
Git是目前世界上最先进的分布式版本控制系统
Mac下git安装
$ brew install git #brew 是Mac下软件包管理工具,与apt使用相似
Ubuntu下git安装
$ sudo apt-get install git
3.Github创建
4.Django安装
安装最新版的Django版本
#安装最新版本的Django
$ pip install django
#或者指定安装版本
pip install -v django==1.7.1
# pip是Python包管理工具,用于下载安装python包等等
5.Bootstrap安装
bootstrap已经有较为完善的中文文档, 可以在bootstrap中文网查看
推荐下载其中的Bootstrap源码
三、项目和APP
1.项目创建
创建一个名为my_blog的Django项目
首先需要把django-admin.py添加到我们的环境变量当中去。django-admin.py 的位置位于/usr/local/lib/python2.7/dist-packages/django/bin 当中。在命令行中输入:
sudo vim /etc/environment
在PATH =之后加上':/usr/local/lib/python2.7/dist-packages/django/bin'
之后保存并退出。
#关于环境变量:将Django的目录放入环境变量,终端才可以执行Django命令
#补充的linux目录规划:
/bin 二进制可执行命令
/dev 设备特殊文件
/etc 系统管理和配置文件
/etc/rc.d 启动的配置文件和脚本
/home 用户主目录的基点,比如用户user的主目录就是/home/user,可以用~user表示
/lib 标准程序设计库,又叫动态链接共享库,作用类似windows里的.dll文件
/sbin 系统管理命令,这里存放的是系统管理员使用的管理程序
/tmp 公用的临时文件存储点
/root 系统管理员的主目录(呵呵,特权阶级)
/mnt 系统提供这个目录是让用户临时挂载其他的文件系统。
/lost+found 这个目录平时是空的,系统非正常关机而留下“无家可归”的文件(windows下叫什么.chk)就在这里
/proc 虚拟的目录,是系统内存的映射。可直接访问这个目录来获取系统信 息。
/var 某些大文件的溢出区,比方说各种服务的日志文件
/usr 最庞大的目录,要用到的应用程序和文件几乎都在这个目录。其中包 含:
/usr/X11R6 存放X window的目录
/usr/bin 众多的应用程序
/usr/sbin 超级用户的一些管理程序
/usr/doc linux文档
/usr/include linux下开发和编译应用程序所需要的头文件
/usr/lib 常用的动态链接库和软件包的配置文件
/usr/man 帮助文档
/usr/src 源代码,linux内核的源代码就放在/usr/src/linux里
/usr/local/bin 本地增加的命令
/usr/local/lib 本地增加的库
之后创建Django项目,先创建一个文件夹,在文件夹中输入如下指令:
$ django-admin.py startproject my_blog
现在来看一下整个项目的文件结构
$ sudo apt-get install tree$ tree my_blog#打印树形文件结构
my_blog
├── manage.py
└── my_blog
├── __init__.py
├── settings.py
├── urls.py
└── wsgi.py1directory,5files
#链接为Django官方中文文档
外层的my_blog根目录仅仅是项目的一个容器。它的命名对Django无关紧要;你可以把它重新命名为任何你喜欢的名字。
内层的mysite/目录是你的项目的真正的Python包。它是你导入任何东西时将需要使用的Python包的名字(例如mysite.urls)。
manage.py:一个命令行工具,可以使你用多种方式对Django项目进行交互。
mysite/__init__.py:一个空文件,它告诉Python这个目录应该被看做一个Python包。
mysite/settings.py:该Django 项目的设置/配置。
mysite/urls.py:该Django项目的URL声明;你的Django站点的“目录”。
mysite/wsgi.py:用于你的项目的与WSGI兼容的Web服务器入口。
2.建立Django app
在Django中的app我认为就是一个功能模块, 与其他的web框架可能有很大的区别, 将不能功能放在不同的app中, 方便代码的复用
建立一个article app
$ cd my_blog
$ python manage.py startapp article
现在让我们重新看一下整个项目的结构
并在my_blog/my_blog/settings.py下添加新建app
INSTALLED_APPS= ( ...'article',#这里填写的是app的名称)
django.contrib.admin—— 管理站点。
django.contrib.auth—— 认证系统。
django.contrib.contenttypes—— 用于内容类型的框架。
django.contrib.sessions—— 会话框架。
django.contrib.messages—— 消息框架。
django.contrib.staticfiles—— 管理静态文件的框架。
3.运行程序
$ python manage.py runserver localhost:9000 #启动Django中的开发服务器
#如果运行上面命令出现以下提示
You have unapplied migrations; your app maynotwork properlyuntilthey are applied.Run'python manage.py migrate'to apply them
.#请先使用下面命令
python manage.py migrate
上面的部分应用至少需要使用一个数据库表,因此我们需要在使用它们之前先在数据库中创建相应的表。
migrate查看INSTALLED_APPS设置并根据mysite/settings.py文件中的数据库设置创建任何必要的数据库表,数据库的迁移还会跟踪应用的变化(我们稍后会讲到)。你会看到对每次迁移有一条信息。
#输出如下信息
Operations to perform:
Apply allmigrations:contenttypes, sessions, admin, auto Running migrations:
Applying contenttypes.0001_initial... OK
Applying auth.0001_initial... OK
Applying admin.0001_initial... OK
Applying sessions.0001_initial... OK
运行成功后,会显示如下信息
#重新运行启动Django中的开发服务器$ python manage.py runserverlocalhost:9000#运行成功显示如下信息System check identified no issues (0silenced).December21,2014- 08:56:00Django version1.7.1, using settings'my_blog.settings'Starting development server athttp://localhost:9000/Quit the server with CONTROL-C.
现在可以启动浏览器, 输入http://localhost:9000, 当出现
成功
说明你成功走出了第一步!
四、命令总结
python manage.py [options] <command> #Django Command
python manange.py -h帮助文档
django-admin.py startproject my_blog #创建项目
python manage.py startapp article#创建app
python manage.py runserver localhost:9000 #启动Django中的开发服务器