1.在项目的根目录下创建文件夹templates
templates文件夹下为各个模块创建一个文件夹,然后在每个文件夹下创建需要显示的html文件
2.让文件夹templates关联项目在项目的下的settings.py中的TEMPLATES 中加上
'DIRS': [os.path.join(BASE_DIR, 'templates')],
创建模板,view.py 返回的参数在模板html 写法
for循环:
{% for i in list %}
list不为空时执行的逻辑
{% empty %}
list为空时执行的逻辑
{% endfor %}
<html>
<head>
<title>复习案例</title>
</head>
<body>
<a href="/create/">创建</a>
<ul>
{%for book in list%}
<li>{{book.btitle}}--<a href="/delete{{book.id}}/">删除</a></li>
{%endfor%}
</ul>
</body>
</html>
3.建立后台交互的view
1)在某块文件夹中建立文件夹urls.py文件,用来管理模块的所有视图
from django.conf.urls import url
from agaplication import views
urlpatterns = [
url(r'^$', views.index),
]
注:urlpatterns 中 url 函数的写法一种是
1) url(r’^indexKaTeX parse error: Expected 'EOF', got '#' at position 18: … views.index), #̲其中表示完全匹配
2) url(r’^’, include(‘agaplication.urls’)), #添加模块的urls
2)某块中新建的urls.py去关联项目
在项目的urls.py中加上
from django.conf.urls import include, url
from django.contrib import admin
urlpatterns = [
url(r'^admin/', include(admin.site.urls)),
url(r'^', include('agaplication.urls')), #添加模块的urls
]
注:django url访问的流程是先去找项目下的urls.py去找urlpatterns,从上往下的匹配,
例如上面的如果在界面的url访问http://127.0.0.1:8000/index,
发现 url(r’^’, include(‘agaplication.urls’))满足,在include(‘agaplication.urls’))继续寻找,
agaplication.urls 中的,在agaplication中的urls.py中找
url(r’^index$’, views.index),满足,然后调用views.py中的index函数。
3)view.py中定义界面的函数调用后台的model
view.py 中定义的函数定义
1.接收的参数包括request和界面返回的函数
2.返回给界面的信息
(1) 在界面呈现文本信息
from django.http import HttpResponse
return HttpResponse("hello") #在界面只呈现信hello
(2)给前台界面返回参数
from django.shortcuts import render
def detail(reqeust, bid):
#根据图书编号对应图书
book = BookInfo.objects.get(id=int(bid))
#查找book图书中的所有英雄信息
heros = book.heroinfo_set.all()
#将图书信息传递到模板中,然后渲染模板
return render(reqeust, 'booktest/detail.html', {'book':book,'heros':heros})
(3)重定向
django项目的流程
1.现在templates文件夹中建立html文件。
2.在view.py创建函数用于前台与后台的交互
3.然后在urls.py文件中添加url配置