接着使用
anaconda+Pycharm
搭建Django
项目(一),我们本章主要用来熟悉django
的模板操作及前后端交互 。
一、模板使用
1.创建template和index.html
在第一章代码的基础上,在项目目录下创建templates文件夹,并且创建index.html。目录如下:
index.html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Hello</title>
</head>
<body>
<div>
<h1 style="color: red">Hello Web Project!</h1>
</div>
</body>
</html>
2.修改项目模板路径(setting.py)
修改setting.py,添加:
'DIRS': [os.path.join(BASE_DIR, 'templates')],
3.修改views,使用render函数返回页面
from django.shortcuts import render
def index(request):
return render(request, 'index.html')
4.启动项目
python manage.py runserver
可以看到,返回的结果,是按照我们给的index.html模板展示的。
二、前后端交互
1. 添加前端页面(提交及展示数据)
submitIndex.html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Hello</title>
</head>
<body>
<form action="/submitIndex/" method="post"></br>
<!-- csrf_token-->
用户名: <input type="text" name="username">
年龄:<input type="text" name="age">
<input type="submit" value="提交">
<hr >
<h2>用户列表</h2>
<table style="border: 1px">
<tr>
<th>用户名</th>
<th>年龄</th>
</tr>
{% for item in data %}
<tr>
<td>{{ item.username }}</td>
<td>{{ item.age }}</td>
</tr>
{% endfor %}
</table>
</form>
</body>
</html>
2. 后端处理页面请求
views.py
from django.shortcuts import render
from django.views.decorators.csrf import csrf_exempt
def index(request):
return render(request, 'index.html')
@csrf_exempt
def submitIndex(request):
userList = []
if request.method == 'POST':
username = request.POST.get("username")
age = request.POST.get("age")
userList.append({'username': username, 'age': age})
return render(request, 'submitIndex.html', {'data': userList})
else:
return render(request, 'submitIndex.html')
3. 新增url
urls.py
from django.urls import path
from . import views
urlpatterns = [
path('', views.index, name='index'),# path('hello/', views.hello),
path('submitIndex/', views.submitIndex),
]