Django开发环境以及项目与App

二、开发环境和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的名称)

INSTALLED_APPS设置保存这个Django实例中激活的所有的Django应用的名字。应用可以在多个项目中使用,而且你可以将这些应用打包和分发给其他人在他们的项目中使用。

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中的开发服务器

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 201,681评论 5 474
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 84,710评论 2 377
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 148,623评论 0 334
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,202评论 1 272
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,232评论 5 363
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,368评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,795评论 3 393
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,461评论 0 256
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,647评论 1 295
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,476评论 2 317
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,525评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,226评论 3 318
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,785评论 3 303
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,857评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,090评论 1 258
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 42,647评论 2 348
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,215评论 2 341

推荐阅读更多精彩内容