第一个django 应用[par1]

第一个django 应用[par1]

在安装好django框架后,使用django-admin startproject来建立项目:

> django-admin startproject mysite

这会在运行命令的当前目录建立一个mysite的文件夹。在建里项目时要避免使用python内建名或Django组件名字,如:django或test。

现在来看一下startproject都创建了什么,目录结构如下:

mysite/
    manage.py
    mysite/
        __init__.py
        settings.py
        urls.py
        asgi.py
        wsgi.py
  • 最外层的mysite/是根目录,是整个项目的容器,这个名字与项目无关紧要,可以改成其它的名字。
  • manage.py:是一个与Django交互的命令行工具。
  • 内部的mysite/文件夹是你项目实际的python包。它的名字是python包名,需要用它来import它内部的东西。如:mysite.urls
  • mysite/__init__.py:一个空文件,它告诉python“这个文件夹应该被看做是一个python包”。
  • mysite/settings.py:对这个Django项目进行设置或配置。
  • mysite/urls.py:对这个django项目url的声明;该站点的“目录”
  • mysite/asgi.py:兼容ASGI的web服务器入口点。
  • mysite/wsgi.py:兼容WSGI的web服务器入口点。

在项目中新建一个应用

> python manage.py startapp pools

它会创建一个文件夹polls,文件夹结构应该是这样的:

polls/
    __init__.py
    admin.py
    apps.py
    migrations/
        __init__.py
    models.py
    tests.py
    views.py

现在写第一个视图polls/views.py

from django.http import HttpResponse

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

之后在polls目录下创建一个URLconf文件名为urls.py,其内容为:

from django.urls import path

from . import views

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

下一步是在根RULconf中加入poll.urls模块,这时需要在mysite/urls.py中导入django.urls.include头文件,并使用include()把poll.urls模块加入到urlpatterns列表中,示例如下:

from django.contrib import admin
from django.urls import include, path

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

include()函数允许引用其它的URLconf文件。当django遇到include()函数时会截取请求剩余部分发送到include()包含的URLconf文件中。(如:请求的是/polls/blog/view,在上面的urlpatterns中会匹配到记录,然后将“polls/”去掉后,把blog/view传给”polls.urls”应用。)

Comments are closed.