模板渲染方式
首先要在总的url下注册app的url
大概可以这么理解
我们再在注册一个app之后,想要把他展示出去。这个时候你需要把自己app的联络人告诉总联络人。这样他俩就有关系可以逐级查找了。
path('', include('news.urls')),
这就是告诉的过程。也就是我们访问这个地址时的总联络人。这时候我们要去到news的url需要输入""。
随后就是我们具体能访问的
def test_1(request):
return HttpResponse('<h1>Hello Django World!</h1>')
def test_2(request):
return render(request, 'html路径')
urlpatterns = [
path("",views.test_1,name='')
path("",view.test_2,name='')
]
这就是我们能访问的具体内容,我们这里写了两个函数。名字分别为test_1和test_2
test_1在做的是直接将html字符串硬编码HttpResponse中
test_2为两条路径,可以在app中建立templates
也可以在app一级建立templates。
之后就是我们的分联系人了
我们需要在app内新建一个urls
app_name = "news"
这个是url命名空间,后边会具体的介绍到
之后我们把从视图导入的test_1写到了路径当中而且我们路径依然是""
我们开启服务,去访问网址。
我们就可以直接访问到了
之后是一样的,knight就不一一介绍了
li = ['a', 'b', 'c', 'd']
dc = {'x': 1, 'y': 2}
def hello():
return 'hello'
class Fruits:
def __init__(self, name, color):
self.name = name
self.color = color
def say(self):
return 'HAHAHAHA'
ap = Fruits('apple', 'red')
def test_8(request, name):
return render(request, 'book_templates_8.html', context={'name': name,#正则表达式
'string':'string',#字符串
'li': li,#列表
'dc': dc,#字典值
'hs': hello,#函数
'class':ap,#类对象
'class_name': ap.name,#类属性
'apple_say': ap.say#类方法
})
url(r'test_8/(\w+)$', views.test_8),
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>主页</title>
</head>
<body>
欢迎来到{{ name }}的世界<br>
{{ string }}<br>
列表{{ li.1 }}<br>
字典{{ dc.x }}<br>
函数{{ hs }}<br>
调用类对象{{ class }}<br>
调用类属性{{ class_name }}<br>
调用方法{{ apple_say }}<br>
</body>
</html>