django官方入门教程,django详细教程

  django官方入门教程,django详细教程

  注:本文为《一个完整的Django入门指南》系列教程(中文版)第四节。你可以查看本教程的完整目录。

  Django 应用

  在姜戈的哲学中,我们有两个重要的概念:

  App:是一个可以做一些事情的Web应用。一个应用程序通常由一组模型(数据库表)、视图(视图)、模板(模板)和测试(测试)组成。

  项目:是配置和应用程序的集合。一个项目可以由多个应用程序或一个应用程序组成。

  请注意,没有项目就不能运行Django应用程序。像博客这样的简单网站可以完全在一个应用程序中编写,例如,它们可以命名为blog或weblog。

  这是一种组织源代码的方式。首先,判断什么是应用程序,什么不是应用程序并不重要。包括如何组织代码等。现在不用担心那些问题!首先我们来梳理一下Django的API和基础知识。

  好吧!所以,为了便于解释,我们来创建一个简单的在线论坛或讨论区。要创建我们的第一个应用程序,请跳转到manage.py文件所在的目录,并执行以下命令:

  django-管理startapp板

  立正!我们这次使用的命令是startapp。

  根据这条指令,系统将为我们创建以下目录结构:

  我的项目/

   -我的项目/

   -boards/-我们新的Django应用程序!

   -迁移/

   - __init__。巴拉圭

   - __init__。巴拉圭

   -管理员

   - apps.py

   - models.py

   - tests.py

   - views.py

   -我的项目/

   - __init__。巴拉圭

   - settings.py

   - urls.py

   - wsgi.py

   - manage.py

  - venv/

  接下来,让我们探讨一下每个文件的作用:

  Migrations/:在这个文件夹中,Django将存储一些文件来跟踪您在models.py文件中创建的更改,该文件用于保持数据库与models.py同步。

  Admin.py:这个文件是django的内置应用django Admin的配置文件。

  Apps.py:这是应用程序本身的配置文件。

  这里是我们定义Web应用程序的数据实例的地方。Django会自动将模型转换成数据库表。

  Tests.py:这个文件用于编写当前应用程序的单元测试。

  Views.py:这是我们处理请求的文件)Web应用程序的响应周期。

  现在我们已经创建了第一个应用程序,让我们配置项目来启用这个应用程序。

  为此,请打开settings.py并尝试查找INSTALLED_APPS变量:

  settings.py

  已安装的应用程序

  = [

   'django.contrib.admin',

   'django.contrib.auth',

   'django.contrib.contenttypes',

   'django.contrib.sessions',

   'django.contrib.messages',

   'django.contrib.staticfiles',

  ]

  如你所见,Django默认已经安装了6个内置应用程序。它们提供大多数Web应用程序所需的常用功能,如身份验证,会话,静态文件管理(图像,JavaScript,CSS等)等。

  我们将会在本系列教程中探索这些应用程序。但现在,先不管它们,只需将我们的应用程序boards添加到INSTALLED_APPS列表即可:

  INSTALLED_APPS = [

   'django.contrib.admin',

   'django.contrib.auth',

   'django.contrib.contenttypes',

   'django.contrib.sessions',

   'django.contrib.messages',

   'django.contrib.staticfiles',

  'boards', # 译者注:建议和作者一样空一行来区别内置app和自定义的app

  ]

  使用前面漫画正方形和圆圈的比喻,黄色的圆圈就是我们的boards应用程序,django.contrib.admin, django.contrib.auth等就是红色的圆圈。

  Hello, World!

  现在来写我们的第一个视图(view)。我们将在下一篇教程中详细探讨它。但现在,让我们试试看看如何用Django创建一个新页面。

  打开boards应用程序中的views.py文件,并添加以下代码:

  views.py

  from django.http import HttpResponse

  def home(request):

   return HttpResponse('Hello, World!')

  视图是接收httprequest对象并返回一个httpresponse对象的Python函数。接收 request 作为参数并返回 response 作为结果。这个流程你必须记住!

  我们在这里定义了一个简单的视图,命名为home,它只是简单地返回一个信息,一个字符串hello,world!。

  现在我们必须告诉Django什么时候会调用这个view。这需要在urls.py文件中完成:

  urls.py

  from django.conf.urls import url

  from django.contrib import admin

  from boards import views

  urlpatterns = [

   url(r'^$', views.home, name='home'),

   url(r'^admin/', admin.site.urls),

  ]

  如果你将上面的代码片段与你的urls.py文件进行比较,你会注意到我添加了以下新代码:url(r'^ $',views.home,name ='home')并通过from boards import views从我们的应用程序boards中导入了views模块。

  和我之前提到的一样,我们将在稍后详细探讨这些概念。

  现在,Django使用正则表达式来匹配请求的URL。对于我们的home视图,我使用^$ 正则,它将匹配一个空路径,也就是主页(这个URL:http://127.0.0.1:8000 )。如果我想匹配的URL是 http://127.0.0.1:8000/homepage/ ,那么我的URL正则表达式就会是:url(r'^homepage/$', views.home, name='home')。

  我们来看看会发生什么:

  python manage.py runserver

  在一个Web浏览器中,打开 http://127.0.0.1:8000 这个链接:

  就是这样!你刚刚成功创建了你的第一个视图。

  下一节:Django入门指南05-论坛项目的架构分析

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: