Django note.1 web框架

Django web框架(学习笔记)


建立项目

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

django-admin startproject testappweb

建立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服务器。django

更换端口、IP浏览器

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

python manage.py runserver 8080app

能够用于更改监听端口到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模式。

相关文章
相关标签/搜索