Django笔记

Django教程

  • pycharm创建Django项目,要在settings.py文件顶部添加import os,否则会产生缺少os报错(name ‘os’ is not defined)。
    在这里插入图片描述

3.23

  • django.db.utils.OperationalError: (1050, “Table ‘django_content_type’ already exists”)
    解决方法:删掉了数据库中所有因Django创建出来的内容,删除了migrations下除了__init__.py之外的所有文件,重新makemigrations、migrate
    参考链接
  • Django连接MySQL已有的表,怎么解决?
  • Django的app创建,建几个APP?
  • 访问后台返回列表类型数据
list = [1,2,3]
# 正确方式
return JsonResponse(arr, safe=False)
# 错误方式
return HttpResponse(arr)

HttpResponse的错误结果
错误结果

3.24

  • Django连接数据库已有的表格
  • 具体方式是,终端运行,输出已连接的数据库里的所有表的内容
    python manage.py inspectdb
  • 复制想要建立model的表内容到对应的model文件中,
    如果新建了APP的话,要记得加到setting.py文件中
  • 运行以下命令
    python manage.py makemigrations
    python manage.py migrate
  • 如果提示表已存在的error,不用管(4.9表示存疑)

3.25

  • 发现了自带的admin可以用UI优化,有现成的UI库哈哈哈哈
    教程
    simpleUI官方文档
  • 新增APP
    需要在settings.py文件新增App的名字
    需要在App里面的admin文件添加
from . import models
admin.site.register(models.Product)

3.26

3.29

  • 重新梳理构建了后台管理网站的结构
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    admin高级自定义
    参考上文,改了表名为中文,把每条记录的显示改为某个属性值
    在这里插入图片描述
    在这里插入图片描述

4.1

##一开始写的是返回数据的id,是int型,会报错
    def __str__(self):
        return self.id
##后来改成字符串类型的字段了
    def __str__(self):
        return self.productName

4.2

4.5

  • 更新model内容,添加id字段,相当于新建覆盖了原来的id字段,就会把原来MySQL设置的自增取代掉

4.6

  • 接昨天,自增重新设置上之后,默认从1开始id自增,但是与已经有的数据冲突 解决方法:不断增加数据,一直报错到与以后数据不冲突

4.14

4.15

4.23

哈哈哈哈哈哈哈又研究了一下admin,计划的3完成了!!

4.24

  • 改了ManyToManyField字段之后,对应view里的方法,处理该字段的时候也要变。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
对于武沛齐的Django笔记中的Ajax请求部分,以下是一些常见的步骤和注意事项: 1. 在前端页面中,使用JavaScript编写一个Ajax请求。可以使用原生的XMLHttpRequest对象,也可以使用jQuery等库来简化操作。例如,使用jQuery的$.ajax()函数可以发送Ajax请求。 2. 在Django中,创建一个处理Ajax请求的视图函数。这个视图函数需要使用装饰器`@csrf_exempt`来取消跨站请求伪造保护。 3. 在视图函数中,可以通过`request.is_ajax()`方法来判断请求是否为Ajax请求。如果是Ajax请求,可以使用`request.POST`或`request.GET`来获取前端发送的数据。 4. 处理完请求后,可以返回JSON格式的数据给前端。可以使用Django提供的`JsonResponse`类来方便地返回JSON响应。 以下是一个简单的示例代码: 前端页面中的JavaScript代码: ```javascript $.ajax({ type: "POST", url: "/ajax-request-url/", data: { key1: value1, key2: value2 }, success: function(response) { // 处理成功响应的逻辑 }, error: function(xhr, status, error) { // 处理错误响应的逻辑 } }); ``` Django中的视图函数: ```python from django.http import JsonResponse from django.views.decorators.csrf import csrf_exempt @csrf_exempt def ajax_request_view(request): if request.is_ajax(): key1 = request.POST.get('key1') key2 = request.POST.get('key2') # 处理数据逻辑 response_data = {'key': 'value'} return JsonResponse(response_data) else: return HttpResponseBadRequest("Bad Request") ``` 请注意,这只是一个简单的示例,实际的实现可能会根据具体需求有所不同。还请参考官方文档和其他资源以获取更详细的信息和示例代码。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值