Django 入门--从零搭建Django项目(一)

Django 入门--从零搭建Django项目(一)

通过这个基础教程,将搭建一个django Web 程序。

这里我使用的idepycharm。其实作为脚本语言,直接用终端命令或文档编辑也是可以的,但相对来说,对于新手不是很适合,要学习东西会变得更多,并且很多东西不够直观(个人感觉)。但如果执意要不用ide开发,那就要自己多学习一些相关的知识(官网上的例子就是不用ide的)。

废话太多了。。。下面开始构建项目

File--->New Project

 

1:创建Django项目。2:指定项目位置以及项目名称。3:这里35是对应的,指定项目的解释器(解释器这里就不多做介绍了),其中3是创建一个虚拟环境,将项目所需的环境装到虚拟环境里,这样的好处显而易见,可以很好隔离各个项目(但也有人感觉会重复引用一些东西感觉不爽)。4:指定基础的解析器,这里你会发现,默认的是你系统中安装的python解释器的路径。5:对应3,这里是直接指定已经安装好的解释器,不单独为项目创建环境。

创建后的项目目录为:

 

其中最外面的testDjango根目录只是项目的一个容器,它的名字对Django来说并不是很重要,你可以把它重命名为任何你喜欢的名字。

manage.py相当于程序的入口(这么说不够准确)。它就是用来和Django项目进行交互动作的。

内部的testDjango文件夹,是真正的项目包,这个名字确定好了后就不要随意更改了,可能会出现一些问题,比如说,你有一些对这个包的相关引用等等,它涉及到路径的正确与否。

__init_.py:如果你打开它的话,会发现里边什么都没有,但请不要擅自删除它。因为它就是一个空文件,用来定义这个文件夹为有一个python(包的概念希望你们已经了解)

Setting.py:当前的Django项目的一些设置或者配置会在这个文件中写出来。

url.py:声名当前Django项目的URLdjango网站的网址路径。

wsgi.pyDjango的主要部署平台是WSGI,它是Python标准的web服务器和应用程序。这个文件就是为当前项目提供了连通web服务的接口。

好了,到这里项目其实已经可以运行了。点击运行项目,你将在控制台看到如下输出:

 

上面警告未做数据库的迁移,我们先忽略这个警告,后面会讲解数据库的迁移问题。

这里我们就已经启动了Django开发服务器,这是一个纯用Python编写的轻量级Web服务器。内置于Django中,这样我们就可以快速的开发一些东西,而不需要配置生产服务器(如tomcatapache)。可以看到这里事实上我们只是创建了项目,而它就已经可以运行了。这里要说一点,当前的这个内置服务器,只应用于开发环境,不要在生产环境使用。

看上面的图片你会注意到这里有一个网址http://127.0.0.1:8000/,让我们访问它看一下效果:

 

你会看见这样的一个页面,“恭喜你!安装成功了!”然后下面写了一些什么因为你是DEBUG模式才看见这个页面啊、什么还没有写任何的接口啊。。。巴拉巴拉的。总之呢,火箭升空,安装成功!

这里边要说一下的是,默认的端口号是8000,若想修改的话PyCharm也是相当的简单:

 

点击Edit Configurations

 

然后就可以地址和端口号了。如果不用ide的话,可以在执行命令时指定端口号:

python mange.py runserver 8080  指定ip0.0.0.0可以这样写:python mange.py runserver 0:8080 。这里其实还可以通过修改runserver.py 文件来修改默认的地址、端口,但这种方法本人不太推荐。

 

 

接下来,我们的前期准备已经好了,可以开始真正的项目工作了。

要记住,我们写的每一个Django下的程序,它所包含的Python包都遵循着一套特定的规范。Django为我们提供了一个实用程序,它可以自动生成应用程序的基本目录结构。因此我们就可以把精力放在代码上,而不是按照规范的去创建文件目录。

下面我们在和manage.py 同级的目录下创建我们的polls应用。确保处于manage.py相同的目录中,然后输入以下命令:

 python manage.py startapp polls

这里我们用的是pycharm 我当然不会突然又让你跑到终端命令行去输入了。Ide已经准备好了终端窗口:

 

 

点击1位置调出2Terminal终端输入窗口,然后输入上面的命令,即3位置。这时再看你的项目目录,会发现:

 


多了一个pollspython包,并在里面已经有了一些文件,比如说,很熟悉的__init__等等。这个目录结构就是将用来容纳我们项目的包了。

 

下面让我们来试一下写一个视图出来。

首先呢打开polls下的views.py,然后将如下代码复制其中:

from django.http import HttpResponse

def index(request):
return HttpResponse("Hello, world. You're at the polls index.")

显而易见,这是一个最简单的视图了,只有一句话。程序员的千古名句Hello world。。。。。”。为了调出视图,让其在浏览器上显示,我们需要给他配置一个URL。我们创建一个URLconf

就叫做urls.py,注意这个配置文件也是在polls文件下的。然后写下如下代码:

from django.urls import path

from . import views

urlpatterns = [
    path('', views.index, name='index'),
]

下一步是要在网址的根目录配置文件中配置我们的polls.urls。在testPython/urls.py中添加引用django.urls,include,并在urlpatterns中调用include()方法,修改后如下(注意目录位置啊,别改错了):

from django.urls import include, path

from django.contrib import admin

urlpatterns = [
    path('polls/', include('polls.urls')),
    path('admin/', admin.site.urls),
]

简单说一下include()方法,它是让程序可以引用其他URLconfs的方法,只要Django里面遇见了include(),它就自动匹配新的配置。这个方法的意义在于,实现了url的即插即用。

到目前为止,我们已经写好了视图,运行后的效果,输入网址http://127.0.0.1:8080/polls/

 

好了其实到这里我们的第一部分就算大功告成了,但我还想说一下path()方法,这个方法可以传递四个参数:必须的两个routeview,还有连个非必需的kwargsname。这里我们简单介绍一下这四个参数:

Routeroute是一个URL模式的字符串。处理请求时Django 将取得请求的值,并用它去和存在的uri样式一一对比,直到找到匹配的。

View:在上一步,请求匹配成功的路径后,DjangohttpRequest对象作为第一个参数调用指定的视图函数,并将捕获的值作为关键字参数

Kwargs:这个不多做介绍了,目前用不上,它是可以将关键字参数通过字典传递到目标视图。类似于这样:你传的值是a=1,用这个参数接到后会打印出{‘a’:’1’}

Name:命名一个URL让你可以轻松的在Django的其他地方引用到它,特别是在模板中。这个功能的强大之处在于它可以使你只对单个文件进行修改,就可以实现对项目全局的修改。

 

好了,到这里我们的第一部分就结束了,下一部分,我们会开始引入数据库。。。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

BigCool叉子

坚持不易,与君共勉

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值