Django入门(3)之视图参数默认值、错误处理、URL的反向解析和使用模型操作数据库
指定用于视图参数的默认值
两个路由指向同一个视图函数,并且在视图函数中给参数设置默认值
在home/urls.py文件中加入一条路径:
1 | #路由 |
编写home/views.py文件代码:
1 | #视图函数 |
错误处理
在模板目录中创建一个404.html的页面.
1 | <body> |
也可以手动抛出并且添加提示信息,在views.py中添加:
1 | from django.http import HttpResponse,Http404 |
改变配置文件setting.py中的DEBUG=False.
在出现404的情况时,自动寻找404页面.
URL的反向解析
在app应用的urls.py文件中加入一条路径
在template目录中加入如下
1 | #在html的模板中 使用反向解析 {% url 'user_index' %} |
在app应用的views.py中加入
1 | #在视图函数中使用 reverse 函数反向解析地址 |
反向解析遇到参数需要携带时
在html的模板中改变格式
1 | <a href="{% url 'user_index' 10 %}">反向解析格式 带参数 跳转到用户列表页</a> |
在views视图函数中
1 | def user_index(request,page=1): |
环境
L ==> Linux
A ==> Apache Nginx
M ==> MySQL
P ==> PHP Python
模型 Model
模型是MVC中重要的一环,是数据层,负责数据的处理(增删改查)
模型提供了很多的方法可以用于操作数据,模型会在方法调用后映射要数据库中执行对应的sql语句
也会将结果转化为对象或列表返回
它实现了数据模型与数据库的解耦,即数据模型的设计不需要依赖于特定的数据库,
通过简单的配置就可以轻松更换数据库
数据库配置
1,安装mysql
2,创建库,指定字符集
3,安装pymysql
在pycharm中添加pymysql(File–>settings–>project–>Project Interpreter–>‘+’–>搜索pymysql–>install)
在linux里通过pip3 install pymysql
4,在settings.py的同级目录中找到 init.py文件,声明pymysql
1 | import pymysql |
5,在settings.py文件中配置 数据库
1 | 'default': { |
6,在settings.py文件中添加当前的应用
1 | INSTALLED_APPS = [ |
定义模型
1,找到 应用中的 models.py文件
1 | from django.db import models |
2,生成迁移文件
1 | 在本项目的终端中输入: |
pycharm终端报错1:
解决:点击上述蓝色下划线的"…mysql\base.py",然后注释掉以下35、36行.
pycharm终端报错2:
解决:点击上述蓝色下划线的"…mysql\operations.py"",然后注释掉以下145、146行.
3,执行迁移
1 | 在本项目的终端中输入: |
pycharm终端报错3:
解决:升级mysql或降级pip.
在视图函数中使用模型
1 | #1,先在视图函数中导入 models |
1 | 在app应用的urls里加入: |