第一个Django项目:HelloWorld
Posted `三一三`
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了第一个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的主要内容,如果未能解决你的问题,请参考以下文章
django helloworld案例总是报No module named mysite.view错误 求大神帮忙,第一个python项目都搞不定!