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
    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())
    })

  

 

    $("#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的配置

針對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的使用

使用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})

      html中 <img width="50" height="50" src="/media/{{ article_obj.user.avatar }}

  

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM