构建项目
在pycharm中构建项目在这里插入代码片
新建一个app
python manage.py startapp xxx
添加路径,在原来的urls文件下添加
urlpatterns = [
path('admin/', admin.site.urls),
path('', include('wed.urls')),
]
在新建的app的urls文件下添加
urlpatterns = [
path('', views.info, name="info")
]
在新的app的views中添加函数
def info(request):
return render(request,'info.html', {这填数据,先空着})
加入通用模板
使用bootStrap框架,引入导航栏样式以及js事件
bootstrap
需要注意的一个点是,原本的css样式中的
integrity="sha384-p1KAotb3W9ndluCsqePPYnjRm3c6abdnIjo0tQwYUv83VsbsYd43RuofnFAaDo0E"
最好删掉,不然会出现样式无法加载成功的情况(自查方法为f12)
引入官方导航栏样式
在这里插入图片描述
将原来的页面在新的模板中显示,避免重复
如,将info.html添加到base.html
在info.html中使用以下代码包裹
{% extends 'base.html'%}
{% block content %}
html内容
{% endblock %}
在base.html中使用
{% block content %}
{% endblock %}
即可引用
引入数据
连接数据库
首先建立数据库映射,方法为在终端中输入
python manage.py inspectdb
将出现的内容复制到models.py中
然后修改上述的view.py
代码如下:
from django.shortcuts import render
from wed import models
# Create your views here.
def info(request):
s_request = models.StuInfo.objects.all()
return render(request,'info.html', {"s_request":s_request})
值得一提的是,在生成数据库映射的时候,一定要检查数据库是否有主键,否则就会出现很奇怪的报错,比如
AssertionError: Model wed.StuInfo can't have more than one auto-generated field.
1054, "Unknown column 'stu_info.id' in 'field list'"
检查一下主键就好,最好自己手写数据库代码,不然容易忘
最后在html中引入数据即可
{% for student in s_request %}
<tr>
<td>{{ student.snum }}</td>
<td>{{ student.sname }}</td>
<td>{{ student.ssex }}</td>
<td>{{ student.sage }}</td>
<td>{{ student.sweight }}</td>
</tr>
{% endfor %}
成品如下: