Django快速入门1-HelloWorld!

HelloWorld

$ mkdir helloworld && cd helloworld
$ django-admin startproject config .
$ ls -R
.:
config  manage.py

./config:
asgi.py  __init__.py  settings.py  urls.py  wsgi.py

$ python manage.py migrate
$ python manage.py runserver

onfig/settings.py文件控制我们项目的设置,urls.py告诉Django在响应浏览器或URL请求时要构建哪些页面,而wsgi.py,代表Web Server Gateway Interface,帮助Django提供我们最终的网页。manage.py文件用于执行各种Django命令,如运行本地Web服务器或创建新的应用程序。最后,但不是最不重要的,是asgi.py文件,这是Django从3.0版本开始的新文件,它允许运行可选的异步服务器网关接口。

创建应用程序

Django使用项目和应用程序的概念来保持代码的简洁和可读性。一个Django项目中包含一个或多个应用程序。

$ python manage.py startapp pages
$ ls -R
.:
config  db.sqlite3  manage.py  pages

./config:
asgi.py  __init__.py  __pycache__  settings.py  urls.py  wsgi.py

./config/__pycache__:
__init__.cpython-38.pyc  settings.cpython-38.pyc  urls.cpython-38.pyc  wsgi.cpython-38.pyc

./pages:
admin.py  apps.py  __init__.py  migrations  models.py  tests.py  views.py

./pages/migrations:
__init__.py
$ vi config/settings.py
# config/settings.py
INSTALLED_APPS = [
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
    'pages', # new
]
  • admin.py 是内置 Django 管理程序的配置文件。
  • apps.py 是应用程序本身的配置文件。
  • migrations/跟踪models.py文件变化,以便我们的数据库和models.py保持同步。
  • models.py是我们定义数据库模型的地方,Django会自动将其翻译成数据库表。
  • tests.py 是我们的应用程序专用测试文件。
  • views.py 是处理我们的网络应用的请求/响应逻辑的地方。

URL、视图、模型、模板

当你输入一个URL,比如https://djangoforbeginners.com,Django首先找到与主页匹配的URLpattern。这个URLpattern指定了一个视图,然后确定页面的内容(通常来自数据库模型),最后确定一个模板,用于样式设计和基本逻辑。最终的结果会以HTTP响应的形式发回给用户。

创建view:

# pages/views.py
from django.http import HttpResponse

def homePageView(request):
    return HttpResponse('Hello, World!')

下面的URLpattern有三个部分。

  • 针对空字符串'' 的Python正则表达式
  • 对视图homePageView的调用,
  • 可选的名为'home'的URL模式
# pages/urls.py
from django.urls import path
from .views import homePageView

urlpatterns = [
    path('', homePageView, name='home'),
]

用户请求使用空字符串''所代表的主页,Django应该使用名为homePageView的视图。

更新我们的config/urls.py文件。

# config/urls.py
from django.contrib import admin
from django.urls import path, include # new

urlpatterns = [
    path('admin/', admin.site.urls),
    path('', include('pages.urls')), # new
]

你可能感兴趣的:(Django快速入门1-HelloWorld!)