一 . 新建项目
在指定的项目保存目录下执行
$ django-admin startproject mysite
--- 这将在目录下生成一个mysite 目录,也就是你的这个Django项目的跟目录。它包含了一系列自动生成的跟目录和文件,具备各自专有的用途。
---注意:在给项目命名的时候必须避开Django和Python的保留关键字,不如“django” ,"test"等,否则会引起冲突和莫名的错误。对于Mysite的放置位置,不建议放在传统的/var/www 目录下,它会具有一定的数据暴露危险,因此Django建议将项目文件
放在自定义的目录。
一个新建项目结构大概如下:
mysite/
├── manage.py
└── mysite
├── __init__.py
├── settings.py
├── urls.py
└── wsgi.py
1 directory, 5 files
各文件和目录解释:
- 外层的
mysite/
目录与Django无关,只是你项目的容器,可以任意命名。 manage.py
:一个命令行工具,用于与Django进行不同方式的交互脚本,非常重要!- 内层的
mysite/
目录是真正的项目文件包裹目录,它的名字是你引用内部文件的包名,例如:mysite.urls
。 mysite/__init__.py
:一个定义包的空文件。mysite/settings.py
:项目的主配置文件,非常重要!mysite/urls.py
:路由文件,所有的任务都是从这里开始分配,相当于Django驱动站点的内容表格,非常重要!mysite/wsgi.py
:一个基于WSGI的web服务器进入点,提供底层的网络通信功能,通常不用关心。
二 、启动开发服务器
进入mysite 目录执行:
python manage.py runserver
看到下面的提示,这表明Django的开发服务器已经启动,开始提供Web服务了:
Performing system checks... System check identified no issues (0 silenced). November 23, 2017 - 03:23:39 Django version 1.11.7, using settings 'mysite.settings' Starting development server at http://127.0.0.1:8000/ Quit the server with CONTROL-C.
Django 内部提供了一个用于开法的web服务器,不需要配置一个类似于Ngnix的线上服务器,就能让站点跑起来。 ---- 这是一个由python编写的轻量级别服务器,简单并不安全,不适用与线上环境。
打开浏览器,访问http://127.0.0.1:8000/,你将看到Django的欢迎界面,一切OK!
Django的开发服务器(以后简称服务器)默认运行在内部的8000端口,如果你想指定端口,请在命令中显示给出:
$ python manage.py runserver 8080
修改服务器的ip地址,请按下面的方式运行命令:
$ python manage.py runserver 0.0.0.0:8000
这时,Django将运行在8000端口,整个局域网内都将可以访问站点,而不只是是本机。
注意: Django的开发服务器具有自动重载功能,当你的代码有修改,每隔一段时间服务器将自动更新。但是,有一些例如增加文件的动作,不会触发服务器重载,这时就需要你自己手动重启。
PS:这一步操作也可以在Pycharm里完成。
三 、创建应用(APP)
app应用 与 project 项目的区别:
- 一个app实现某个功能,比如博客、公共档案数据库或者简单的投票系统;
- 一个project是配置文件和多个app的集合,这些app组合成整个站点;
- 一个project可以包含多个app;
- 一个app可以属于多个project!
注: app 的存放位置可以是任意地点,但是通常都将它们放与manage.py脚本同级的目录下,这样方便导入。
进入mystie 项目目录,确保与manage.py文件处于同一级,执行如下命令。