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!:

此时的命令行输出:

参考链接:

Django 创建第一个项目

后续研究:怎么建立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的更多相关文章

  1. Python开发入门与实战2-第一个Django项目

    2.第一个Django项目 上一章节我们完成了python,django和数据库等运行环境的安装,现在我们来创建第一个django project吧,迈出使用django开发应用的第一步. 2.1.创 ...

  2. 第一个Django项目及部署到Sina App Engine

    Sina App Engine简称SAE,是个比较好的网站托管平台,目前说是全面免费,其实就是每个人分配很小的资源配额,在一定的使用范围内不用消耗云豆(SAE计费方式),对于个人学习和研究足够了,同类 ...

  3. 如何创建一个Django项目

    Django 软件框架 软件框架是由其中的各个模块组成,每个模块负责特定的功能,模块与模块之间相互协作来完成软件开发. MVC简介 MVC框架的核心思想是:解耦,让不同的代码块之间降低耦合,增强代码的 ...

  4. 创建第一个Django项目

    第一个Django项目 命令行下使用如下命令创建一个名为"mysite"的Django项目: django-admin startproject mysite 这将会在当前位置创建 ...

  5. Django之真正创建一个django项目

    真正创建一个django项目 1 创建Django项目     :new-project 2 创建APP :  python manager.py startapp app01 3 setting 配 ...

  6. 使用pycharm创建自己的第一个django项目

    PyCharm是一种Python IDE,带有一整套可以帮助用户在使用Python语言开发时提高其效率的工具,比如调试.语法高亮.Project管理.代码跳转.智能提示.自动完成.单元测试.版本控制. ...

  7. 发布一个Django项目

    一.部署环境准备,准备python3和虚拟环境解释器,virtualenvwrapper 1.修改python3的环境变量 PATH=/opt/python36/bin:/usr/local/sbin ...

  8. 初学者用pycharm创建一个django项目和一个app时需要注意的事项

    如何新建一个djiango项目: 1.在pycharm中点击File,选择new project,点击djiango,在右面的Location中将untitile改为你的项目名,其余部分注意见下图: ...

  9. 基于centos7,python3.7新建第一个Django项目

    为了能更好的了解到整个网站的服务情况,需要了解前端,后端之间的联系,这时候就得需要用到Django框架,基于Django自身带的模板,它可以更好的接收用户发出请求,接下来讲解一下新建第一个Django ...

  10. 创建一个Django项目

    创建一个django项目: 1. django-admin  startproject student_manage(项目名) 2. cd student_manage python manage.p ...

随机推荐

  1. 【JQuery】Ajax

    一.前言        接着上一章的内容,继续本章的学习.本章知识来自于https://www.cnblogs.com/jach/p/5709175.html 二.内容 $.ajax({ url:'/ ...

  2. 【BZOJ2989】数列(CDQ分治,扫描线)

    [BZOJ2989]数列(CDQ分治) 题面 BZOJ 权.....权限题.. 题解 Description 给定一个长度为n的正整数数列a[i]. 定义2个位置的graze值为两者位置差与数值差的和 ...

  3. 【Cf #503 C】Sergey's problem(有趣的构造)

    感觉这种构造题好妙啊,可我就是想不到诶. 给出一张无自环的有向图,回答一个独立集,使得图中任意一点都可以被独立集中的某一点两步之内走到. 具体构造方案如下: 下标从小到大枚举点,如果该点没有任何标记, ...

  4. UVA.12169 Disgruntled Judge ( 拓展欧几里得 )

    UVA.12169 Disgruntled Judge ( 拓展欧几里得 ) 题意分析 给出T个数字,x1,x3--x2T-1.并且我们知道这x1,x2,x3,x4--x2T之间满足xi = (a * ...

  5. bzoj 3928: [Cerc2014] Outer space invaders

    $f[i][j]$表示消灭起始时间在$(i,j)$内的外星人所花费的最小代价. 考虑在这个区间内距离最远的外星人h,在他的区间中一定要选一个点要开一炮,而且这一炮可以顺便把其他跨过这个点的敌人消灭,剩 ...

  6. Mongodb 笔记03 查询、索引

    查询 1. MongoDB使用find来进行查询.find的第一个参数决定了要返回哪些文档,这个参数是一个文档,用于指定查询条件.空的查询会匹配集合的全部内容.要是不指定查询,默认是{}. 2. 可以 ...

  7. Seven Techniques for Data Dimensionality Reduction

    Seven Techniques for Data Dimensionality Reduction Seven Techniques for Data Dimensionality Reductio ...

  8. 用pip install升级已安装的包的附加包, 以tabulate包为例

    用pip install升级已安装的附加包, 以tabulate包为例 去pypi官网查看tabulate包的介绍, 发现tabulate 0.7.6才开始支持宽字符的美化打印. 而且还需要安装它的附 ...

  9. IFrame跨域处理方法-Javascript

    在漫长的前端开发旅途上,无可避免的会接触到ajax,而且一般情况下都是用在同一域下的ajax请求:但是如果请求是发生在不同的域下,请求就无法执行,并且会抛出异常提示不允许跨域请求,目前我没有找到明确的 ...

  10. Linux学习5-线程

    线程 1.1什么是线程? 在一个程序中的多个执行路线就叫做线程(thread).更准确的定义是:线程是一个进程内部的一个控制序列.   要搞清楚fork系统调用和创建新线程之间的区别.当进程执行for ...