首页 > 其他 > 详细

Django 编写第一个Django应用 一

时间:2020-05-09 16:04:15      阅读:40      评论:0      收藏:0      [点我收藏+]

创建项目

如果这是您第一次使用Django,则必须进行一些初始设置。即,您将需要自动生成一些代码来建立Django 项目 -Django实例的一组设置,

包括数据库配置,特定于Django的选项和特定于应用程序的设置。

从命令行cd进入要存储代码的目录,然后运行以下命令:

django-admin startproject mysite
这将mysite在当前目录中创建一个目录:
技术分享图片

 

 让我们看看startproject创建了什么

技术分享图片

 

 

 

  • 外部mysite/根目录是您的项目的容器。它的名字对Django无关紧要。您可以将其重命名为您喜欢的任何名称。
  • manage.py:一个命令行实用程序,可让您以各种方式与该Django项目进行交互。您可以manage.pydjango-admin和manage.py中阅读有关的所有详细信息 
  • 内部mysite/目录是项目的实际Python包。它的名称是Python包名称,您需要使用它来导入其中的任何内容(例如mysite.urls)。
  • mysite/__init__.py:一个空文件,告诉Python该目录应视为Python软件包。如果您是Python初学者,请在Python官方文档中阅读有关包的更多信息
  • mysite/settings.py:此Django项目的设置/配置。 Django设置将告诉您所有设置的工作方式。
  • mysite/urls.py:此Django项目的URL声明;Django支持的网站的“目录”。您可以在URL调度程序中阅读有关URL的更多信息
  • mysite/asgi.py:与ASGI兼容的Web服务器为您的项目提供服务的入口点。有关更多详细信息,请参见如何使用ASGI进行部署
  • mysite/wsgi.py:与WSGI兼容的Web服务器为您的项目提供服务的入口点。有关更多详细信息,请参见如何使用WSGI进行部署

开发服务器

让我们验证您的Django项目是否有效。mysite如果尚未进入外部目录,请运行以下命令:

$ python manage.py runserver
技术分享图片

 


您已经启动了Django开发服务器,这是一个纯粹用Python编写的轻量级Web服务器。我们已经将它包含在Django中,因此您可以快速进行开发,而无需准备配置生产服务器(例如Apache),直到准备好进行生产为止。

现在是要注意的好时机:不要在类似于生产环境的任何环境中使用此服务器。仅在开发时使用。(我们的业务是制作Web框架,而不是Web服务器。)

现在服务器已在运行,请使用Web浏览器访问http://127.0.0.1:8000/您会看到“恭喜!” 页,火箭起飞。有效!

技术分享图片

 

 

 

 

更改端口

默认情况下,该runserver命令在内部IP端口8000上启动开发服务器。

如果要更改服务器的端口,请将其作为命令行参数传递。例如,此命令在端口8080上启动服务器:

$ python manage.py runserver 8080

如果要更改服务器的IP,请将其与端口一起传递。例如,要侦听所有可用的公共IP(如果您正在运行Vagrant或想在网络上的其他计算机上炫耀您的工作,则很有用),请使用:

$ python manage.py runserver 0:8000

00.0.0.0的快捷方式

自动重新加载 runserver

开发服务器会根据需要自动为每个请求重新加载Python代码。您无需重新启动服务器即可使代码更改生效。

但是,某些操作(例如添加文件)不会触发重新启动,因此在这种情况下,您必须重新启动服务器。

创建民意调查应用程序

现在,您的环境(一个“项目”)已设置好,您就可以开始工作了。

您在Django中编写的每个应用程序都包含一个遵循特定约定的Python包。Django附带了一个实用程序,该实用程序会自动生成应用程序的基本目录结构,因此您可以专注于编写代码,而不是创建目录。

要创建您的应用,请确保与您位于同一目录,manage.py 然后键入以下命令:

$python manage.py startapp polls

技术分享图片

 

 

 技术分享图片

 

 

 此目录结构将容纳轮询应用程序。

编写第一个视图

让我们来写第一个视图。打开文件polls/views.py ,并将以下Python代码放入其中:

技术分享图片

 

 

 

这是Django中最简单的视图。要调用该视图,我们需要将其映射到URL-为此,我们需要一个URLconf。

要在民意调查目录中创建URLconf,请创建一个名为的文件urls.py您的应用目录现在应如下所示:

技术分享图片

 

polls/urls.py文件中包含以下代码:

 

 技术分享图片

下一步是将根URLconf指向该polls.urls模块。在中 mysite/urls.py,添加的导入django.urls.include并将插入 include()urlpatterns列表中,因此:

 

 

 技术分享图片

 

 

include()功能允许引用其他URLconf。每当Django遇到时include(),它都会截断直到该点匹配的URL的任何部分,并将剩余的字符串发送到包含的URLconf中以进行进一步处理。

背后的想法include()是简化URL的即插即用。由于民意调查位于其自己的URLconf(polls/urls.py)中,因此可以将其放在“ / polls /”下,“ / fun_polls /”下,“ / content / polls /”下或任何其他路径根下,并且该应用仍会工作。

现在,您已将index视图连接到URLconf。验证它是否与以下命令一起使用:http://127.0.0.1:8000/polls/

技术分享图片

 

 path()函数传递了四个参数,两个是必需的 routeview,以及两个可选的kwargsname

path()参数:route

route是包含URL模式的字符串。在处理请求时,Django从第一个模式开始,urlpatterns然后沿列表的下方移动,将请求的URL与每个模式进行比较,直到找到匹配的URL。

模式不搜索GET和POST参数或域名。例如,在对的请求中https://www.example.com/myapp/,URLconf将寻找 myapp/在请求中https://www.example.com/myapp/?page=3,URLconf也将寻找myapp/

path()参数:view

当Django找到匹配的模式时,它将使用HttpRequest对象作为第一个参数,并将路线中所有“捕获”的值作为关键字参数来调用指定的view函数我们将举一个例子。

path()参数:kwargs

可以在字典中将任意关键字参数传递给目标视图。在本教程中,我们将不使用Django的此功能。

path()参数:name

命名URL可以使您在Django中的其他地方(尤其是在模板内部)明确地引用它。这项强大的功能允许您仅触摸单个文件即可对项目的URL模式进行全局更改。

 

 

Django 编写第一个Django应用 一

原文:https://www.cnblogs.com/leon-joker/p/12857928.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!