以下为学习笔记,用来备忘、交流
工具:树莓派 3B+ / Raspberry Pi 3B+
系统:带桌面的Raspbian Buster 基于Debian-Buster的桌面图像
Raspbian Buster with desktop Image with desktop based on Debian Buster
Release date:2019-09-26
Python 3.7.3 (default, Apr 3 2019, 05:39:12)
数据库:mariadb-server-10.0
Django: 3.0.2
视图
一个网站服务处理响应过程如下:
- 假设用户在浏览器输入网址https://www.123.com/abc/e 或(192.168.1.12/abc/e)
- https://www.123.com和192.168.1.12是有域名或IP确定的,本次不做研究,总之输入https://www.123.com就能在网络上找到自己配置的这个Django服务器
- Django 可以接收到域名或IP后面的信息:abc/e
- Django Python程序按照urls.py的定义一行一行的匹配上面的那个地址(abc/e)
- 匹配成功后,记录这个地址对应的方法名称,运行这个方法,这个过程在views.py里编写处理过程
- 匹配失败后,返回400错误或其他错误,有Django 默认的错误处理和显示,当然也可自定义错误的显示内容
url
下图是建好的文件tree
主要思路是这样:在项目目录原本就有urls.py文件,一个项目多个应用的话里面会有太多的路径,所以把每个应用的urls放到每个应用里,在项目文件下的urls.py配置一下引到不同的应用里,以后修改只需要到自己的应用中修改自己的urls.py就可以了
- 在应用中新建urls.py文件(可以将项目中的文件复制进去,再做修改)
- 配置项目中的urls.py文件
- 配置好的项目中的urls.py如下(注意我用的Django版本: 3.0.2)
from django.contrib import admin
from django.urls import path, includeurlpatterns = [path('admin/', admin.site.urls),path('', include('yingyong01.urls'))
]
- 配置好的应用中的urls.py如下(注意我用的Django版本: 3.0.2)
#from django.contrib import admin
from django.urls import path
from . import viewsurlpatterns = [#path('admin/', admin.site.urls),path('',views.index),path('<int:shebei_id>/',views.show),path('<int:shebei_id>/postj',views.postj),#path('2/',views.show)path('news/',views.news),path('news/posts',views.posts),
]
- 代码中,
<int:shebei_id>/
的“shebei_id”是变量,“<int: >
”表示程序需要取这个值,这个值是int整数形。
- 别忘了,在settings.py文件中通过ROOT_URLCONF指定根级url的配置。项目文件中的settings.py需要配置这一项“ROOT_URLCONF ”
ROOT_URLCONF = 'xiangmu01.urls'