Django(10)
1. 搭建项目环境
一、建立虚拟环境
每当我们开始一个新项目的时候,通常都会搭建一个全新、独立、隔离的项目环境,这样做的好处自然不必多说。有很多种建立项目虚拟环境的工具,使用比较普遍的是Python中的virtualenv。
virtualenv工具请自行安装,具体安装方法和使用说明,参考站内Python教程的《virtualenv 虚拟环境》章节。
在Windows的CMD中,进入指定的目录,这里是Django_course
。使用下面的方式,建立一个mysite_env
虚拟环境:
virtualenv --no-site-packages mysite_env
过程如下:
F:\Django_course>virtualenv --no-site-packages mysite_env Using base prefix 'c:\\python36' New python executable in F:\Django_course\mysite_env\Scripts\python.exe Installing setuptools, pip, wheel...done.
虚拟环境建立得很快,我们通过--no-site-packages
,指定只需要一个干净的环境,不要原来带的各种第三方库。整个文件夹大概如下面的样子,重点是Scripts
目录。
F:. ├─Include │ └─greenlet ├─Lib │ ├─collections │ ├─distutils │ ├─encodings │ ├─importlib │ ├─site-packages ...... ├─Scripts └─tcl ├─tcl8.6 └─tk8.6
二、安装Django
进入mysite_env
目录下的Scripts
子目录,运行activate
命令,**该虚拟环境,此时的命令行提示符将以(mysite_env)
开头。运行pip install django
命令,自动安装最新版本的Django1.11.7和唯一的依赖库pytz。
F:\Django_course>cd mysite_env F:\Django_course\mysite_env>cd Scripts F:\Django_course\mysite_env\Scripts>activate (mysite_env) F:\Django_course\mysite_env\Scripts>pip install django Requirement already satisfied: django in f:\django_course\mysite_env\lib\site-pa ckages Requirement already satisfied: pytz in f:\django_course\mysite_env\lib\site-pack ages (from django) (mysite_env) F:\Django_course\mysite_env\Scripts>pip install django Collecting django Using cached Django-1.11.7-py2.py3-none-any.whl Collecting pytz (from django) Using cached pytz-2017.3-py2.py3-none-any.whl Installing collected packages: pytz, django Successfully installed django-1.11.7 pytz-2017.3
如果你需要退出虚拟环境,可以使用deactive
命令。
我安装的时候失败了 指令改为python -m pip install django 成功
三、创建工程
进入Pycharm,File->new Project
创建新工程:
按图示在左侧选择Django,然后将工程Location设置在虚拟环境同一级的目录内,也就是F:\Django_course
,工程名字使用国际惯例mysite。在右侧的interpreter选择齿轮图标处点击选择add local
,然后在弹出的界面中,找到我们刚才建立的虚拟环境所在位置,最后确定。
这样,我们就将Pycharm当前Django环境的解释器指定为我们刚才建立的虚拟环境了。
进入Pycharm的settings配置菜单,可以看到当前是一个非常干净的系统,除了Django和pytz,没有任何其它第三方库。
四、创建app
点击Pycharm最下方工具栏中的Terminal按钮,进入终端界面,可以看到,我们已经在工程目录的根路径下。
验证一下Python版本,虽然是3.6.1,但使用where python
查看一下,就会发现python命令指向的并不是我们建立的虚拟环境。
F:\Django_course\mysite>python -V Python 3.6.1 F:\Django_course\mysite>where python C:\Python36\python.exe I:\Anaconda3\python.exe
所以要按下面的操作,先**虚拟环境,然后再运行python manage.py startapp login
。
F:\Django_course\mysite>dir F:\Django_course\mysite 的目录 2017/11/06 21:33 <DIR> . 2017/11/06 21:33 <DIR> .. 2017/11/06 21:54 <DIR> .idea 2017/11/06 21:33 826 manage.py 2017/11/06 21:33 <DIR> mysite 2017/11/06 21:33 <DIR> templates 1 个文件 826 字节 F:\Django_course\mysite>cd .. F:\Django_course>dir F:\Django_course 的目录 2017/11/06 21:32 <DIR> . 2017/11/06 21:32 <DIR> .. 2017/11/06 21:33 <DIR> mysite 2017/11/06 21:09 <DIR> mysite_env 0 个文件 0 字节 F:\Django_course>cd mysite_env F:\Django_course\mysite_env>cd Scripts F:\Django_course\mysite_env\Scripts>activate ## 注意这里,还要退回Django项目根目录,否则找不到manage.py文件 (mysite_env) F:\Django_course\mysite_env\Scripts>python manage.py startapp login python: can't open file 'manage.py': [Errno 2] No such file or directory (mysite_env) F:\Django_course\mysite_env\Scripts>cd .. (mysite_env) F:\Django_course\mysite_env>cd .. (mysite_env) F:\Django_course>cd mysite (mysite_env) F:\Django_course\mysite>python manage.py startapp login
以后凡是在Pycharm终端中使用Python manage.py ....
命令的时候,都要注意**虚拟环境的问题。
按照上面的步骤操作完后,login应用就创建成功了,让我们看一下Pycharm中的目录结构:
五、 设置时区和语言
Django默认使用美国时间和英语,在项目的settings文件中,如下所示:
# Internationalization # https://docs.djangoproject.com/en/1.11/topics/i18n/ LANGUAGE_CODE = 'en-us' TIME_ZONE = 'UTC' USE_I18N = True USE_L10N = True USE_TZ = True
我们把它改为亚洲/上海
时间和中文(别问我为什么没有北京时间,也别把语言写成zh-CN
)。
# Internationalization # https://docs.djangoproject.com/en/1.11/topics/i18n/ LANGUAGE_CODE = 'zh-hans' TIME_ZONE = 'Asia/Shanghai' USE_I18N = True USE_L10N = True USE_TZ = False
六、 启动开发服务器
现在,我们可以启动一下开发服务器,测试一下我们的工程了。
在Pycharm的Run/Debug Configurations
配置界面里,将HOST设置为127.0.0.1
,Port保持原样的8000
,确定后,点击绿色三角,走你!
在本机的浏览器中访问http://127.0.0.1:8000/
,或者点击Pycharm界面里的链接:
顺利地话,在浏览器中,你可以看到如下的欢迎界面: