Django note.1 web框架

Django web框架(学习笔记)


创建项目

在cd到代码目录运行命令:

django-admin startproject testapp

创建testapp目录
同时会创建出以下文件:

testapp/
    manage.py
    testapp/
        __init__.py
        settings.py
        urls.py
        wsgi.py
  • manage.py:用各种方式管理Django 项目的命令行工具。
  • tesyapp/目录包含该项目,一个纯 Python 包。
  • tesyapp/init.py:一个空文件,告诉 Python 这个目录应该被认为是一个 Python 包。
  • tesyapp/settings.py:Django 项目的配置文件。
  • tesyapp/urls.py:Django 项目的 URL 声明,就像你网站的“目录”.
  • tesyapp/wsgi.py:作为你的项目的运行在 WSGI 兼容的Web服务器上的入口.

用于开发的简易服务器

启动了Django自带的用于开发的简易服务器,一个纯Python写的轻量级的web服务器。内置在Django中,为了能快速的开发想要的东西,无需配置生成级别的服务器。但是也只用于开发设计而非web服务器。

更换端口、IP

默认情况下,runserver 命令会将服务器设置为监听本机内部 IP 的 8000 端口,

python manage.py runserver 8080

可以用于更改监听端口到8080。
如果修改监听IP,在端口前添加IP,

python manage.py runserver 0:8000

0是0.0.0.0简写。


创建投票应用

每一个应用都是一个python包。Django自带一个工具,可以生成应用的基础目录结构。
处于manage.py所在的目录下,然后运行这行命令来创建一个应用:

python manage.py startapp polls

这将会创建一个 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.")

如果需要看见效果,需要url映射,创建URLconf,在polls目录中新建一个urls.py
urls.py输入:

from django.urls import path
from . import views
urlpatterns = [
    path('', views.index, name='index'),
]

在根URLconf文件中指定创建的polls.urls模块。在testapp/urls.py文件的urlpatterns列表里插入一个include(),如下:

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

验证是否正常,运行:

python mange.py runserver

浏览器访问http://127.0.0.1:8000/polls/ ,就能看见 "Hello, world. You're at the polls index."


path()参数:route

route 匹配URL准则,类似正则表达式。当Django响应一个请求时,会从urlpatterns第一项开始,按顺序依次匹配列表中的项,直到找到匹配项。
这些准则不会匹配 GET 和 POST 参数或域名。例如,URLconf在处理请求 https://www.example.com/myapp/ 时,它会尝试匹配myapp/。处理请求 https://www.example.com/myapp/?page=3 时,也只会尝试匹配 myapp/


path()参数:view

当 Django 找到了一个匹配的准则,就会调用这个特定的视图函数,并传入一个HttpRequest对象作为第一个参数,被“捕获”的参数以关键字参数的形式传入。


path()参数:kwargs

任意个关键字参数可以作为一个字典传递给目标视图函数。本教程中不会使用这一特性。


path()参数:name

为你的 URL 取名能使你在 Django 的任意地方唯一地引用它,尤其是在模板中。这个有用的特性允许你只改一个文件就能全局地修改某个URL模式。


posted @ 2019-09-06 16:22  摘不完的老花生  阅读(145)  评论(0编辑  收藏  举报