谈谈Python之Django搭建企业级官网(第二篇)

转载请注明来源地址和原做者(CFishHome)前端

前沿

上一节虚拟环境的内容浅显易懂,相信和我正在一块儿学习Django的朋友们都手到拈来。接下来这一篇文章将介绍Django正式学习前的必备知识,要坚持学习才能熟能生巧,三天后我由于要和舍友们去深圳浪一波,因此三天后会不更新文章,但回来后我会继续学习,而后更新学习笔记共同进步。python

学前准备

在学习Django以前,咱们须要准备好如下工做:web

  1. 确保已经安装Python3.6以上的版本。
  2. 安装好virtualenvwrapper软件。
  3. 熟悉了virtualenvwrapper软件对虚拟环境操做的经常使用命令。

OK,上面的准备工做作好了,咱们先建立一个名为django-env的虚拟环境,打开CMD,执行如下命令(本人安装的是Anaconda3,里面内置了Python3.x版本,因此解释器在Anaconda3文件夹内):
谈谈Python之Django搭建企业级官网(第二篇)
从上图命令执行返回的信息能够看出,Envs不是一个目录,因此Envs在当前用户目录正在被建立,而且使用D:\Anaconda3\python.exe做为虚拟环境的解释器,最后在该虚拟环境中安装pip等程序文件。
(注意,我没有添加环境变量修改虚拟环境默认安装目录)建立成功后,结果以下图:
谈谈Python之Django搭建企业级官网(第二篇)
而后执行如下命令开始安装Django2.0版本:django

pip install django==2.0

运行结果以下:
谈谈Python之Django搭建企业级官网(第二篇)
咱们还要安装Pycharm profession版本的软件,请自行安装,这里不介绍安装过程。注意,只有pycharm的professional版本才支持Django的开发,而community(社区版)不能用于网页开发!浏览器

URL详解

URL 是 Uniform Resource Locator 的简写,统一资源定位符。
一个 URL 由如下几部分组成:服务器

scheme://host:port/path/filename?query-string=xxx#anchor

举个URL栗子:http://www.abc.com:8080/news/index.asp?boardID=5&ID=24618&page=1#name
一、协议部分(scheme):该URL的协议部分为“http:”,这表明网页使用的是HTTP协议。在Internet中可使用多种协议,如HTTP,FTP等等本例中使用的是HTTP协议。在"HTTP"后面的“//”为分隔符app

二、域名部分(host):该URL的域名部分为"www.abc.com" ,一个URL中,也可使用IP地址做为域名使用。ide

三、端口部分(port):跟在域名后面的是端口,域名和端口之间使用“:”做为分隔符。端口不是一个URL必须的部分,若是省略端口部分,将采用默认端口80学习

四、虚拟目录部分(path):从域名后的第一个“/”开始到最后一个“/”为止,是虚拟目录部分。虚拟目录也不是一个URL必须的部分。本例中的虚拟目录是“/news/”测试

五、文件名部分(filename):从域名后的最后一个“/”开始到“?”为止,是文件名部分,若是没有“?”,则是从域名后的最后一个“/”开始到“#”为止,是文件部分,若是没有“?”和“#”,那么从域名后的最后一个“/”开始到结束,都是文件名部分。本例中的文件名是“index.asp”。文件名部分也不是一个URL必须的部分,若是省略该部分,则使用默认的文件名

六、锚部分(anchor):从“#”开始到最后,都是锚部分。本例中的锚部分是“name”。锚部分也不是一个URL必须的部分,后台通常不用管,前端用来作页面定位的。

七、参数部分(query-string):从“?”开始到“#”为止之间的部分为参数部分,又称搜索部分、查询部分。本例中的参数部分为“boardID=5&ID=24618&page=1”。参数能够容许有多个参数,参数与参数之间用“&”做为分隔符。
注意: URL 中的全部字符都是 ASCII 字符集,若是出现非 ASCII 字符,好比中文,浏览器会进行编码再进行传输。

小试牛刀-第一个Django项目

建立Django项目

前面学前准备咱们安装了Pycharm,这是由于建立Django项目有两种方式:

命令行方式
可视化Pycharm方式

相信大众都喜欢可视化Pycharm方式建立Django项目,由于能够不用打命令。
(1)命令行方式
打开CMD,先进入虚拟环境,接着在虚拟环境内,执行如下命令:
谈谈Python之Django搭建企业级官网(第二篇)
那么就会在虚拟环境的当前目录下建一个Django项目。这十分不人道,因此最好在虚拟环境下先进入本身喜欢的目录下再执行该命令那么就好管理了。建立成功后的Django项目含有一个文件夹和manage.py文件。
运行结果以下:
谈谈Python之Django搭建企业级官网(第二篇)
(2)可视化Pycharm方式
打开Pycharm(保证是Professional版),建立Django项目,以下图所示:
谈谈Python之Django搭建企业级官网(第二篇)
建立Django项目时,我填写了Django项目的路径还有设置已存在的解析器(这个指定解析器其实就是指定某个虚拟环境下的解析器,因此至关于指定该Django项目是放在某个虚拟环境下管理。)
结果以下:
谈谈Python之Django搭建企业级官网(第二篇)

运行Django项目

到目前为止,咱们分别使用命令行方式在C:\Users目录下建立了一个名为first_project的django项目,还有使用pycharm方式在C:\Users\Administrator\django_project目录下建立了一个同名first_project的django项目。那么既然建立Django项目有两种方式(命令行方式和可视化Pycharm方式),天然而然也有两种方式来运行Django项目,分别为:

命令行方式
可视化Pycharm方式

(1)命令行方式
先进入django-env虚拟环境,而后进入到所要运行的Django项目的目录下(即manage.py所在文件目录下),执行如下命令:
谈谈Python之Django搭建企业级官网(第二篇)
这样能够在本地访问你的网站,默认端口号是 8000,并且访问IP地址为本机测试地址127.0.0.1,这样就能够在浏览器中经过 http://127.0.0.1:8000/ 来访问你的网站啦。若是想要修改端口号,那么在运行的时候能够指定端口号, python manage.py runserver 9000 这样就能够经过 9000 端口来访问啦。另外,这样运行的项目只能在本机上能访问。咱们还能够设置让同一局域网下的电脑或手机访问你的网站,后面会讲解。
访问结果图以下:
谈谈Python之Django搭建企业级官网(第二篇)
到了这里,若是将访问的IP地址替换成随意的会咋样?固然是会报错,127.0.0.1地址是每一台电脑本身的本机测试地址,因此127.0.0.1才能够用于测试访问咱们本身的项目,可是若替换成不存在的IP地址,天然会报错。以下图(最后一句是错误信息):
谈谈Python之Django搭建企业级官网(第二篇)
(2)可视化Pycharm方式
在测试Pycharm方式运行Django项目前先关闭CMD运行的Django项目,而后打开Pycharm,直接点击上方的绿色箭头按钮便可运行。
以下图:
谈谈Python之Django搭建企业级官网(第二篇)
须要注意的是,当使用pycharm来开发Django项目,要注意下方是否是同时运行两次或屡次同一个项目。这样的结果致使测试时可能会有错误,由于当你想测试某个项目时,实际上网站运行的。当采用pycharm运行项目时要避免一个项目运行屡次。在项目配置中,把“只用单一实例”那个选项勾选上,避出现问题。以下图所示:
谈谈Python之Django搭建企业级官网(第二篇)

介绍项目各种文件

咱们能够看到无论哪一种方式建立Django项目,都会有一个文件夹和manage.py(pycharm方式多了一些东西,无论它先)。

manage.py :之后和项目交互基本上都是基于这个文件。通常都是在终端输入 python manage.py [子命令] 。能够输入 python manage.py help 看下能作什么事情。除非你知道你本身在作什么,通常状况下不该该编辑这个文件。
settings.py :本项目的设置项,之后全部和项目相关的配置都是放在这个里面。
urls.py :这个文件是用来配置URL路由的。好比访问 http://127.0.0.1/news/ 是访问新闻列表页,这些东西就须要在这个文件中完成。
wsgi.py :项目与 WSGI 协议兼容的 web 服务器入口,部署的时候须要用到的,通常状况下也是不须要修改的。

改变端口号和同一局域网下其余电脑访问网站

1.改变端口号:
(1)在CMD终端,运行的时候加上一个端口号就能够了。命令为:“python manage.py runserver 9000”.
(2)在pycharm中,右上角->项目配置->host->port,改为你想要的端口号,从新运行。以下图:
谈谈Python之Django搭建企业级官网(第二篇)
2.让同局域网中的其余电脑访问本机的项目:
怎么同一局域网?最简单的就是手机开热点让你的电脑链接,那么就在同一局域网了。而后根据命令行方式仍是pycharm方式选其一进行以下步骤:
(1)设置Django项目的host为0.0.0.0:
A.若是在CMD终端,使用命令:“python manage.py runserver 0.0.0.0:8000”
B.若是在pycharm,右上角->项目配置->host,改为“0.0.0.0”
(2)在“settings.py”文件中,配置“ALLOWED_HOSTS”
将本机的ip地址添加进去,示例代码以下:
“ALLOWRD_HOSTS = ['电脑本机的ip地址']” //注意电脑本机的ip地址是你的手机分配的地址,因此手机和电脑确定在同一网段,即同一局域网。
运行成功后,同一局域网下的其余电脑或手机访问你的网站。 注意,若是失败了,可能还要关闭本身电脑的防火墙才行。

app的概念与建立

app概念

这里的app不是手机的App。app 是 django 项目的组成部分,“应用”的意思。一个 app 表明项目中的一个模块,全部 URL 请求的响应都是由 app 来处理。好比豆瓣,里面有图书,电影,音乐,同城等许许多多的模块,若是站在 django 的角度来看,图书,电影这些模块就是 app ,图书,电影这些 app 共同组成豆瓣这个项目。所以这里要有一个概念, django 项目由许多 app 组成,一个 app 能够被用到其余项目, django 也能拥有不一样的 app 。如今不理解app不要紧,后面的学习会逐渐明白app的做用。

app建立

建立应用(app),一个项目相似因而一个架子,可是真正起做用的仍是 app 。在CMD终端进入到Pycharm方式建立的Django项目所在的路径,而后执行 如下命令建立一个app:

python manage.py startapp my_app

注意,不论是命令行方式仍是Pycharm方式建立Django项目,要想为这个项目添加app,都必须经过在CMD下命令的方式建立app。
结果以下(建立成功后,在项目目录下添加了一个名字为my_app的app文件夹):
谈谈Python之Django搭建企业级官网(第二篇)

相关文章
相关标签/搜索