Django框架的使用
pip list查看python中是否安装了Django框架,如果列表中包含Django则代表已经安装
pip install django==1.10.1 安装指定版本的Django框架(如果没有安装)

django-admin startproject demo1 创建一个新的Django项目名字为demo1
python manage.py startapp novel 创建一个APP
项目结构

Django的调用顺序
urls.py是django的路由文件
配置自己的路由

python调用方法加括号和不加括号的区别,加括号代表获取值,不加括号代表获取一个对象
这里配置了默认首页,将文件为view的视图传递给路由
注意需要导包from novel import views
url(r'^$', views.index),

运行项目
两种方式,一种是通过pycharm,点倒三角直接运行,
另一种是在命令行输入python manage.py runserver
(如果你的端口号被占用了或者想改变端口号你可以输入python manage.py runserver 8001这时候端口就变成成功8001)
这个时候你访问你的http://127.0.0.1:8000/就会出现如下的结果

现在我们把返回的结果换成一个html文件,在novel下创建一个templates的文件夹,把html文件放入templates文件夹
发现他是访问不了的,结果是这样的

怎么解决
这里有个坑就是如果框架是通过命令行创建的需要添加这样一样代码,否则他不能识别你的APP项目,访问不了html文件

添加完成后刷新页面,排版是有问题的,因为他的静态资源识别不到
打开settings文件,发现这样一行代码STATIC_URL = '/static/'(如果没有自己添加这个是静态资源的目录)

这时我们创建一个名字为static文件夹,把静态(css,js,多媒体文件等)资源导入工程

添加静态文件
在html文件首行添加如下代码
{% load staticfiles %}

{% %}语法,函数
{{ }}变量或者参数
动态替换示例
<script src="js/jquery.min.js"></script>
<script src="{% static 'js/jquery.min.js'%}"></script>
这时再刷新浏览器,首页就恢复成最开始的样式了(下载下来的模板直接打开的样子)

把网站信息写活
配置mysql信息
创建models
python manage.py inspectdb >novel/models.py
models 中的每一个类都是数据库中的一张表
获取id为1的一条数据

随机获取4条数据

传值方式,传入一个字典

获取并遍历的方式

这里由于我的电脑没有安装mysql,所以只做一个简单是示范
传值我是测试数据

获取

刷新查看效果

到这个时候读取数据展示到网页的示例就已经完成了
网友评论