第一个Django项目:HelloWorld
OS:Windows家庭中文版, Python:3.6.3,Django:2.0.3
在前一篇文章中,Django已经顺利安装到了Python中,下面,开发第一个Python项目吧!
1.django-admin命令初探
在安装Django后,django-admin可以用了。此命令位于C:\Python36\Scripts下,django-admin.exe,一个Windows可执行文件。
在命令行输入django-admin即可查看其相关信息,其下有不少子命令,本文用到startproject命令:

django-admin命令的更多内容,还需研究。
2.使用django-admin创建第一个项目
打开命令行,进入创建工程的目录(也可以在创建工程的命令中指定);
执行Django项目创建命令:django-admin.py startproject HelloWorld;

没有提示,HelloWorld项目创建成功!
创建成功后,在当前目录下会出现HelloWorld项目的工程文件夹HelloWorld;


就是这样,工程建立好了!
很简单是吧?第一步当然简单!
那么,各个文件的意义呢?请看参考链接的文章1,里面说的很清楚:

3.启动项目服务器
疑问:这个服务器是单独属于HelloWorld项目呢,还是属于整个Django?可以同时运行多个项目吗?
上一小节介绍了,项目目录下的manage.py是一个命令行工具,在这里,我们需要用它的子命令来启动HelloWorld的服务器。
在命令行输入:python3 manage.py runserver
使用Python3的原因不再多说。
服务器启动后:

上图中提示的“You have 14 unapplied migrations(s)....”的问题尚未解决,需要再研究。
上图倒数第二句提示:Starting development server at http://127.0.0.1:8000/,这表示服务器(准确的说是【开发服务器】,还有什么其它服务器吗?)已经
启动,可以使用http://127.0.0.1:8000/访问了。
在浏览器输入http://127.0.0.1:8000/,回车,可以看到下面的结果:一个默认的Web视图(界面)打开了!说明项目服务器启动成功!

访问页面后的命令行输出:

可以看到,有一些以/statc开头的文件被传送到页面上了,这些文件来自哪里呢?
在检查了settings.py文件里面的static时,发现下面的变量:django.contrib.staticfiles

继续寻找,发现上面的文件的确来自Django安装目录:

继续研究,发现页面是根据工程目录下的view.py生成的,URL规则由urls.py文件判定!
需要说明的是,这个开发服务器的默认端口是8000,可以在启动命令行中更改。
可以使用命令python3 manage.py来查看此命令行工具的使用细节。

查看runserver命令的细节,可以使用python3 manage.py help runserver查看:

4.让页面输出Hello world!
删除项目里面的view.py、urls.py,并重新建立者两个文件,内容如下:
#view.py
from django.http import HttpResponse
def hello(request):
return HttpResponse("Hello world!") #urls.py
from django.conf.urls import url
from . import view
urlpatterns = [
url('^$', view.hello)
]
重启项目服务器,此时访问页面即可获得我们需要的Hello world!:

此时的命令行输出:

参考链接:
后续研究:怎么建立view.py、url.py等,Django项目的规则刚刚入门而已。
====END====
最后,需要搞清楚Django到底是什么?Django是Web服务器吗?Django为何要和Nginx、Apache配合使用呢?
Django是一个开放源代码的Web应用框架,由Python写成。采用了MTV的框架模式,即模型M,模板T和视图V。(百度百科)
Django是一个基于MVC构造的框架。(百度百科)
Django的主要目的是简便、快速的开发数据库驱动的网站。(百度百科)
Django可以运行在Apache,Nginx上,也可以运行在支持WSGI,FastCGI的服务器上。(百度百科)
下面的文章给出的答案很好,多谢各位网友:
django 作为 web 服务器为什么线上部署的时候要用到 uwsgi 和 nginx 啊

第一个Django项目:HelloWorld的更多相关文章
- Python开发入门与实战2-第一个Django项目
2.第一个Django项目 上一章节我们完成了python,django和数据库等运行环境的安装,现在我们来创建第一个django project吧,迈出使用django开发应用的第一步. 2.1.创 ...
- 第一个Django项目及部署到Sina App Engine
Sina App Engine简称SAE,是个比较好的网站托管平台,目前说是全面免费,其实就是每个人分配很小的资源配额,在一定的使用范围内不用消耗云豆(SAE计费方式),对于个人学习和研究足够了,同类 ...
- 如何创建一个Django项目
Django 软件框架 软件框架是由其中的各个模块组成,每个模块负责特定的功能,模块与模块之间相互协作来完成软件开发. MVC简介 MVC框架的核心思想是:解耦,让不同的代码块之间降低耦合,增强代码的 ...
- 创建第一个Django项目
第一个Django项目 命令行下使用如下命令创建一个名为"mysite"的Django项目: django-admin startproject mysite 这将会在当前位置创建 ...
- Django之真正创建一个django项目
真正创建一个django项目 1 创建Django项目 :new-project 2 创建APP : python manager.py startapp app01 3 setting 配 ...
- 使用pycharm创建自己的第一个django项目
PyCharm是一种Python IDE,带有一整套可以帮助用户在使用Python语言开发时提高其效率的工具,比如调试.语法高亮.Project管理.代码跳转.智能提示.自动完成.单元测试.版本控制. ...
- 发布一个Django项目
一.部署环境准备,准备python3和虚拟环境解释器,virtualenvwrapper 1.修改python3的环境变量 PATH=/opt/python36/bin:/usr/local/sbin ...
- 初学者用pycharm创建一个django项目和一个app时需要注意的事项
如何新建一个djiango项目: 1.在pycharm中点击File,选择new project,点击djiango,在右面的Location中将untitile改为你的项目名,其余部分注意见下图: ...
- 基于centos7,python3.7新建第一个Django项目
为了能更好的了解到整个网站的服务情况,需要了解前端,后端之间的联系,这时候就得需要用到Django框架,基于Django自身带的模板,它可以更好的接收用户发出请求,接下来讲解一下新建第一个Django ...
- 创建一个Django项目
创建一个django项目: 1. django-admin startproject student_manage(项目名) 2. cd student_manage python manage.p ...
随机推荐
- 【JQuery】Ajax
一.前言 接着上一章的内容,继续本章的学习.本章知识来自于https://www.cnblogs.com/jach/p/5709175.html 二.内容 $.ajax({ url:'/ ...
- 【BZOJ2989】数列(CDQ分治,扫描线)
[BZOJ2989]数列(CDQ分治) 题面 BZOJ 权.....权限题.. 题解 Description 给定一个长度为n的正整数数列a[i]. 定义2个位置的graze值为两者位置差与数值差的和 ...
- 【Cf #503 C】Sergey's problem(有趣的构造)
感觉这种构造题好妙啊,可我就是想不到诶. 给出一张无自环的有向图,回答一个独立集,使得图中任意一点都可以被独立集中的某一点两步之内走到. 具体构造方案如下: 下标从小到大枚举点,如果该点没有任何标记, ...
- UVA.12169 Disgruntled Judge ( 拓展欧几里得 )
UVA.12169 Disgruntled Judge ( 拓展欧几里得 ) 题意分析 给出T个数字,x1,x3--x2T-1.并且我们知道这x1,x2,x3,x4--x2T之间满足xi = (a * ...
- bzoj 3928: [Cerc2014] Outer space invaders
$f[i][j]$表示消灭起始时间在$(i,j)$内的外星人所花费的最小代价. 考虑在这个区间内距离最远的外星人h,在他的区间中一定要选一个点要开一炮,而且这一炮可以顺便把其他跨过这个点的敌人消灭,剩 ...
- Mongodb 笔记03 查询、索引
查询 1. MongoDB使用find来进行查询.find的第一个参数决定了要返回哪些文档,这个参数是一个文档,用于指定查询条件.空的查询会匹配集合的全部内容.要是不指定查询,默认是{}. 2. 可以 ...
- Seven Techniques for Data Dimensionality Reduction
Seven Techniques for Data Dimensionality Reduction Seven Techniques for Data Dimensionality Reductio ...
- 用pip install升级已安装的包的附加包, 以tabulate包为例
用pip install升级已安装的附加包, 以tabulate包为例 去pypi官网查看tabulate包的介绍, 发现tabulate 0.7.6才开始支持宽字符的美化打印. 而且还需要安装它的附 ...
- IFrame跨域处理方法-Javascript
在漫长的前端开发旅途上,无可避免的会接触到ajax,而且一般情况下都是用在同一域下的ajax请求:但是如果请求是发生在不同的域下,请求就无法执行,并且会抛出异常提示不允许跨域请求,目前我没有找到明确的 ...
- Linux学习5-线程
线程 1.1什么是线程? 在一个程序中的多个执行路线就叫做线程(thread).更准确的定义是:线程是一个进程内部的一个控制序列. 要搞清楚fork系统调用和创建新线程之间的区别.当进程执行for ...