Django学习笔记(一)-安装、创建工程应用

Django学习笔记(一)-安装、创建工程应用

  • 学习使用版本: 2.2.17

  • 参考官网教程

  • 安装直接使用pip命令安装:pip install django==2.2.17

1、创建工程

django-admin startproject djangodemo

工程目录结构:

─djangodemo
    │  manage.py
    │  
    └─djangodemo
            settings.py
            urls.py
            wsgi.py
            __init__.py

目录结构说明:

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

2、启动服务

E:\PyProject\Development\djangodemo>python manage.py runserver
Watching for file changes with StatReloader
Performing system checks...
​
System check identified no issues (0 silenced).
​
You have 17 unapplied migration(s). Your project may not work properly until you apply the migrations for app(s): admin, auth, contenttypes, sessions.
Run 'python manage.py migrate' to apply them.
February 01, 2021 - 19:32:15
Django version 2.2.17, using settings 'djangodemo.settings'
Starting development server at http://127.0.0.1:8000/
Quit the server with CTRL-BREAK.
[01/Feb/2021 19:32:22] "GET / HTTP/1.1" 200 24

启动后就可以访问http://127.0.0.1:8000/

 

3、项目vs应用

应用是一个专门做某件事的网络应用程序(比如博客系统、投票系统)。项目则是一个网站使用的配置和应用的集合。项目可以包含很多个应用。应用可以被很多个项目使用。

创建应用:

python manage.py startapp polls
目录结构如下:
polls/
    __init__.py
    admin.py
    apps.py
    migrations/
        __init__.py
    models.py
    tests.py
    views.py

4、编写第一个视图

在新建的polls应用的views.py中创建视图

from django.http import HttpResponse
​
def index(request):
    return HttpResponse("Hello, django. You're at the polls index.")  #最简单的视图,返回这一句话

5、URL映射

前端访问这个视图是通过urls.py文件中进行配置

from django.urls import path
from . import views
​
urlpatterns = [
    path('', views.index, name='index'),   #这个是应用内的路径映射
]

6、根目录URL配置指定创建的polls.urls模块

from django.contrib import admin
from django.urls import include, path   
#指定polls.url需要在urlpatterns 列表里插入一个 include()
urlpatterns = [
    path('polls/', include('polls.urls')),
    path('admin/', admin.site.urls),
]

函数 include() 允许引用其它 URLconfs。每当 Django 遇到 include()时,它会截断与此项匹配的 URL 的部分,并将剩余的字符串发送到 URLconf 以供进一步处理。

  • 启动项目查看结果

注意启动后访问的地址是:http://localhost:8000/polls/

 

7、path函数

函数 path()具有四个参数,两个必须参数:route 和 view,两个可选参数:kwargs 和 name

route参数

route是一个匹配 URL 的准则(类似正则表达式)。当 Django 响应一个请求时,它会从 urlpatterns 的第一项开始,按顺序依次匹配列表中的项,直到找到匹配的项。

URLconf 在处理请求 https://www.example.com/myapp/ 时,它会尝试匹配 myapp/ 。处理请求 https://www.example.com/myapp/?page=3 时,也只会尝试匹配 myapp/

view参数

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

kwargs参数

任意个关键字参数可以作为一个字典传递给目标视图函数

name参数

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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值