Django 中admin添加数据并渲染主页

admin的使用

 

一、在admin中引入models类名称      

  首先在admin.py中引入models
    from .models import *

  其次
    admin.site.register(UserInfo)     UserInfo这个是models中的类名
    admin.site.register(Blog)      Blog这个是Blog中的类名
    admin.site.register(Tag)

 

二、文件上传:

form请求

1、obj = request.FILES.get("f") #得到一个对象

2、<form action="" method="post" enctype="multipart/form-data">

ajax请求:

  1、首先实例化配置一个formdata对象;
    然后一组一组键值对加入formdata;
    (本次例子有三组键值对,以后以实际为主)

    formdata.append("pwd",$("#pwd").val());键和值以逗号分隔


  2、在ajax中formdata作为data的值
    url:"/put_ajax/",
    type:"post",
    data:formdata,

    用 contentType:false,processData:false,这两个参数同时指定为false,至此整个过程结束

   *******总结:我们利用一个formdata加两个参数(contentType:false,processData:false,)解决了ajax上传文件的问题(这个要记住)

 

三、JS中的$.each()

$.each()在jQuery中是一种封装的方法,基于jQuery类方法,类似于python中的for循环
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
//方式1
    var arr = [111,222,333]
    $.each(arr,function (i, j) {
        console.log(i,j)
    })
结果:0    111
        1     222
        2     333
         
    var d = {"name":"alex","age":"33"}
    $.each(d,function (i, j) {
        console.log(i,j)
    })
结果:name        alex
        age           33  
 
 
     方式2
    $("p").each(function () {
        console.log($(this).html())
    })

  

 

1
2
3
4
5
6
7
8
$("#avatar").change(function () {
    var choose_file = $(this)[0].files[0];
    var reader = new FileReader();//实例化阅读器对象
    reader.readAsDataURL(choose_file);
    reader.onload=function () {
        $("#avatar_img").attr("src",this.result)     //attr不能使用set替换,set针对dom对象
    }
});

  

 四、media的配置及使用

    static文件夹是用来存放静态文件的,而media是用来存放用户上传的文件的    

        静态文件:static: css JS img font

        用户上传文件: media : avatar file等

  1、media的配置

1
2
3
4
5
6
7
8
9
10
11
12
13
针对FileField,ImageField字段:
 
        avatar = models.FileField(upload_to = 'avatars/',default="/avatar/default.png")
 
         默认会将FileField字段中的upload_to参数对应的值avatar文件下载到项目根目录下
 
        如果 在settings中配置了一句:
 
                    MEDIA_URL="/media/"
                    MEDIA_ROOT=os.path.join(BASE_DIR,"app01","media")
 
 
                    将FileField字段中的upload_to参数对应的值avatar下载到MEDIA_ROOT路径下

  2、media的使用

1
2
3
4
5
6
7
8
9
10
使用media:
 
        settings.py
                MEDIA_URL="/media/"
                MEDIA_ROOT=os.path.join(BASE_DIR,"app01","media")
 
 
        urls.py
            from django.views.static import serve    #导入静态文件处理的views控制包
            from s1_cnblog import settings      #导入项目文件夹中settings中的MEDIA_ROOT绝对路径              re_path('media/(?P<path>.*)',serve,{'document_root':settings.MEDIA_ROOT})<br><br>      html中  <img width="50" height="50" src="/media/{{ article_obj.user.avatar }}

  

 

posted @   HelloBaby!  阅读(1271)  评论(0编辑  收藏  举报
努力加载评论中...
点击右上角即可分享
微信分享提示