Django2019项目复习查缺补漏

1.数据库模型设计错误迁移后删除报错No changes detected问题

python manage.py makemigrations --empty myApp
python manage.py makemigrations
python manage.py migrate
分析:可能文件夹下有些依赖,直接delete会报错,需要先创建个空的模型

2.model的ForeignKey写法问题

("chanpin_renzheng", on_delete=models.CASCADE)

分析:注意引号,加上on_delete
3.在上面link CSS 在下面引 js
4.summernote富文本编辑器和bootstrap一起使用
5.https://www.iconfont.cn 阿里矢量图标的使用
6.swiper的动画插件使用

注:HTML  CSS  JS里面都要写东西具体右键查看源码

7.runserver后面可以自己设置端口
8.配置路由settings里面配置

ROOT_URLCONF = 'mysite.urls'

9.登陆的表单

<form action="" method="get">
    <input type="text" name="username" placeholder="username"><br>
    <input type="password" name="password" placeholder="password"><br>
    <button id="btn" type="submit">登录</button>
    {% csrf_token %}
</form>

如果是post提交会报CSRF错误
需要加上{% csrf_token %}

通过测试工具可以看见发送post请求的同时除了username和password还多了一个token(一个秘钥的散列值)如果想忽略该检查要将settings中间件里面的东西注释掉

10.action来指定路由的路径,urls里面配置
11.windows下的conf文件也可以用vim打开
12.链接redis

redis-cli

13.windows下启动redis

 redis-server redis.windows.conf

14.https://blog.csdn.net/blick__winkel/article/details/77986481 redis的基本使用
15.注意看报错,如果说在url都没匹配注意是正则表达式/的问题
16.重定向也是通过路由实现的
17.序列化的写法

    return JsonResponse(b, safe=False)

18.Django中的auth表用户登录的验证
19.render和重定向的路由写法不一样,要注意下
20.cookie的用法,每个参数的含义

res.set_cookie("user", username, 3600)  # 写入浏览器cookie的名,用户在登录页输入的用户名,cookie在浏览器中保持的时间

21.读取cookie在浏览器可以查看的

username = request.COOKIES.get("user", "")  # 读取浏览器的cookie

22.时间字段的写法要注意

create_time = models.DateTimeField(auto_now=True)  # 自动获取当前时间,时间戳的概念

23.邮箱字段的写法

email = models.EmailField()  # 邮箱
URLField    TextField    FloatField

24.在后台注册表的信息
25.delete()删除数据 不用save就可以删除
26.修改需要save

    g = Students.objects.get(username=789)
    g.username = "123"  # 对数据库的修改操作  不写脚本也可以进行再代码里修改   需要save
    g.save()

27.create()添加数据
28.django-bootstrap3的集成加持,也是需要在app里安装注册
29.分页器:Paginator(xxx,2)几条数据一分页
30.

单元测试:unittest
HTTP接口自动化测试:unittest+Requests
Web UI自动化测试:unittest+Selenium
移动自动化测试:unittest+Appium

31.单元测试

from django.test import TestCase
from myAPP.models import Students


class ModelTest(TestCase):
    def setUp(self) -> None:
        Students.objects.create(username="cuiheran", password="cui",
                                name="cui", gender=1, age=20, contend="ffs", isDelete=1, user_type=1)

    def test_Students_models(self):
        result = Students.objects.get(name="cui")
        self.assertEqual(result.username, "cuiheran")

32.可以进行指定函数的测试更加节省时间 还可以进行模糊匹配测试

python manage.py test -p test*.py
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值