活动地址:CSDN21天学习挑战赛
django从入门到入土(五)
视图和url
如果要了解视图和url的概论和原理请回顾前面django系列的MTV
架构
编写一个简单的视图
打开子应用目录下的views.py
文件
写入如下代码:
from django.shortcuts import render #这一行是默认配置的 无需添加
from django.http import HttpResponse
# Create your views here.
def index(request):
data='hello django'
return HttpResponse(data)
添加路由(匹配url)
URL 样式是 URL 的一般形式 - 例如:/newsarchive/<year>/<month>/
。
为了将 URL 和视图关联起来,Django 使用了 ‘URLconfs’ 来配置。URLconf 将 URL 模式映射到视图。
打开主应用下的urls.py
文件
导入刚刚编写的视图包下的index函数
from slaveapp.views import index
然后在urlpatterns
这个列表里添加如下代码
path("index/",index)
如下,成功截图
为了便于项目的维护,不可能所有url都在总路由配置,接下来进行子路由的配置
配置子路由
在子应用创建urls.py
文件加入如下代码
from django.urls import path
from .views import index
urlpatterns = [
path("index/",index)
]
接下来在总urls相关配置打开总应用urls:
from django.urls import path,include #重点是加上后面这个include
然后同样在总urls文件下的urlpatterns
列表里面添加:
path("",include('slaveapp.urls'))
到这里子路由配置完成
模板使用
- 创建模板
- 设置模板查找路径
- 模板接受视图传入数据
- 模板处理数据
项目根目录下创建模板文件夹templates
例如下图
settings文件中配置templates文件夹
settings文件夹下找到
TEMPLATES = [
{
"BACKEND": "django.template.backends.django.DjangoTemplates",
"DIRS": [],
"APP_DIRS": True,
"OPTIONS": {
"context_processors": [
"django.template.context_processors.debug",
"django.template.context_processors.request",
"django.contrib.auth.context_processors.auth",
"django.contrib.messages.context_processors.messages",
],
},
},
]
对其中的DIRS对应列表进行一个配置
"DIRS": [os.path.join(BASE_DIR),'templates'],
在templates文件夹下创建html文件
如下图
创建一个函数视图,让当前函数视图返回html文件
在views
文件中创建函数视图
def index_html(request):
return render(request,'index.html')
在子路由urls
配置视图url (记得导包index_html)
from .views import index_html
urlpatterns = [
path('index_html/',index_html)
]
重新运行结果如下图
本文含有隐藏内容,请 开通VIP 后查看