Django框架的web网页开发总结.

1.后端跳转到前端:
 return render(request, template_name="details.html", context={"objects": objects,"message":message})

2.后端视图跳转到视图:
  return redirect("/login")  #不传参

        message = "您不是管理员"
        redirect_url = f"/allobjects/?message={message}"
        return HttpResponseRedirect(redirect_url)  #传参方法


3.前端跳转到后端:
<a href="/deleteinfo/?uid={{ info.id }}"></a>


4.前端接收后端数据:

 {% for object in objects %}    {{ object.src }}   {% endfor %}

{% if message %} {{message}} {% endif %}

5.路由 (在Django中,路由名和方法名是分开存放的,路由和方法集中绑定在urls.py中):

path("goumai/", views.goumai)      #第一个参数是路由名,第二个参数是目录.方法名


6.session会话:

request.session["uid"]=id

 id=request.session.get("uid")

del  request.session["uid"]

7.数据库:
  数据库连接:

#在settings.py中
DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.mysql',
        'NAME':"django",
        "USER": "root",
        "PASSWORD": "123456",
        "HOST":"127.0.0.1",
        "PORT" :3306
    }
}

 #Django中可自动创建表(首先得自己创建数据库) 在model层自己写字段名等信息
class user(models.Model):
    username=models.CharField(max_length=255)
    password = models.CharField(max_length=255)
    src = models.CharField(max_length=255)
    address = models.CharField(max_length=255)

#写完后在 运行manage.py任务 中依次执行 makemigration  migrate


#对数据库的增删改查

#增加:
shopedobjects.objects.create(uid=uid,oid=oid,name=objects[0].name,introduce=objects[0].introduce,price=objects[0].price,src=objects[0].src,number=number,type=objects[0].type)


#删除:
deleteobject=carobjects.objects.filter(Q(uid=uid)&Q(oid=oid))
deleteobject.delete()


#修改:
users = user.objects.filter(id=uid)
users.update(username=name,password=password,address=address,src=src)

#查询:
carobjects.objects.filter(Q(uid=uid)&Q(oid=oid)).all()  #返回值是一个Queryset集合
carobjects.objects.filter(Q(uid=uid)&Q(oid=oid)).first()  #返回集合中的第一个对象

#如查询中出现并列条件用上  Q(uid=uid)&Q(oid=oid)
                        或者条件用上  Q(uid=uid)|Q(oid=oid)

8.文件问题(前端表单接收文件保存到编译器,然后显示到前端):

前端表单:
<form action="/monitor_addobjectsinfo/"  method="post" enctype="multipart/form-data">
          {% csrf_token %}

             <input type="file" name="file" placeholder="请输入用户头像"><br>
          
    <input type="submit" value="提交">
</form>

后端代码:

    src = request.FILES.get("file")   #接收文件

        path = "app/static/images/" + src.name
        with open(path, "wb") as f:
            for line in src:
                f.write(line)        #以二进制的形式保存文件到path路径中

        srcpath = "/static/images/" + src.name  #这个是文件的路径名

  • 10
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值