欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Django ImageFiled上傳照片并顯示的方法

 更新時(shí)間:2019年07月28日 09:01:52   作者:懶散的日子  
今天小編就為大家分享一篇Django ImageFiled上傳照片并顯示的方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧

1:首先理解settings.py中

MEDIA_ROOT:

MEDIA_URL:這兩者之間的關(guān)系。

MEDIA_ROOT:就是保存上傳圖片的根目錄,比如說(shuō)MEIDA_ROOT ="C:\\Django\\Photo",則上傳的照片就在這個(gè)文件夾中,如果ImageFiled中設(shè)置了upload_to,這個(gè)upload_to則讓圖片是上述根目錄中子目錄中存儲(chǔ)。upload_to注意設(shè)置要區(qū)分有沒(méi)有 " / " ,例如 upload_to='photo' 與 upload_to = " /phto/ ”就會(huì)造成完全不同的后果,前面的用法是正確的。

MEDIA_URL:主要用于URL映射這塊,與urls.py中一個(gè)映射有關(guān)系

例如:MEDIA_URL = '/media/', 這個(gè)MEDIA_URL是添加在ImageFIeld中存儲(chǔ)路徑的公共目錄.例如

img=models.ImageField(upload_to='photo',null=False,blank=True)

則這個(gè)img的url屬性就是 “/media/photo/xxx.jpg ,然后就需要考慮在Url文件中的映射,要在模板中訪問(wèn)該圖片文件,則 img的src 設(shè)置為 {{ example.img.url }}即可

urls.py中應(yīng)該添加如下一條映射 (r'^media/(?P<path>.*)$', 'django.views.static.serve', {'document_root': settings.MEDIA_ROOT}),

其中url中media就對(duì)應(yīng)著MEDIA_URL中的配置,對(duì) 這類網(wǎng)址的訪問(wèn)都映射到MEDIA_ROOT這個(gè)目錄,并根據(jù)ImageFIled中存儲(chǔ)的相對(duì)路徑進(jìn)行訪問(wèn)。

把上述這幾個(gè)之間關(guān)系弄明白,使用ImageField上傳圖片并顯示就很容易

參考下列例子

#models.py
class Img(models.Model):
	name=models.CharField(max_length=30)
	img=models.ImageField(upload_to='photo',null=False,blank=True)
	def __unicode__(self):
		return self.name
#forms.py
class ImgForm(ModelForm):
	class Meta:
		model=Img
#views.py
@csrf_exempt 
def add(request):
	if request.method == 'POST':
		form = ImgForm(request.POST,request.FILES)
		if form.is_valid():
			form.save()
	else:
		form = ImgForm()
	return render_to_response('add.html', {'form': form})
 
 
def list(request):
  template_var={}
  photos=Img.objects.all()
  template_var['pics']=photos
  return render_to_response('list.html',template_var,
            context_instance=RequestContext(request))
#settings.py
MEDIA_ROOT = "/xxxxx/media/"
 
# URL that handles the media served from MEDIA_ROOT. Make sure to use a
# trailing slash if there is a path component (optional in other cases).
# Examples: "http://media.lawrence.com", "http://example.com/media/"
MEDIA_URL = '/media/'
#urls.py
(r'^media/(?P<path>.*)$', 'django.views.static.serve', {'document_root': settings.MEDIA_ROOT}),
#模板
<body>
	{% for photo in pics %}
		<h3><p class="greentitle"> {{photo.name}} </p></h3>
		<a href="{{photo.img.url}}" rel="external nofollow" ><img src="{{photo.img.url}}" alt="{{photo.img.url}}"></img></a>
		{% endfor %}
</body>
#模板
<body>
 
  <form enctype="multipart/form-data" action="" method="post">
 
    {{ form.as_p }}
 
    <input type="submit" value="Submit" />
 
  </form>
 
</body>

以上這篇Django ImageFiled上傳照片并顯示的方法就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • Django執(zhí)行源生mysql語(yǔ)句實(shí)現(xiàn)過(guò)程解析

    Django執(zhí)行源生mysql語(yǔ)句實(shí)現(xiàn)過(guò)程解析

    這篇文章主要介紹了Django執(zhí)行源生mysql語(yǔ)句實(shí)現(xiàn)過(guò)程解析,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-11-11
  • pip已經(jīng)安裝好第三方庫(kù)但pycharm中import時(shí)還是標(biāo)紅的解決方案

    pip已經(jīng)安裝好第三方庫(kù)但pycharm中import時(shí)還是標(biāo)紅的解決方案

    這篇文章主要介紹了python中pip已經(jīng)安裝好第三方庫(kù)但pycharm中import時(shí)還是標(biāo)紅的問(wèn)題,本文給大家分享解決方法,對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-10-10
  • 520必備!這些Python表白代碼祝你脫單成功

    520必備!這些Python表白代碼祝你脫單成功

    不會(huì)還有程序猿沒(méi)有女朋友吧?沒(méi)關(guān)系,今天特地為大家整理了這些Python花式表白代碼,你就放心大膽的去吧,需要的朋友可以參考下
    2021-05-05
  • python 獲取當(dāng)天凌晨零點(diǎn)的時(shí)間戳方法

    python 獲取當(dāng)天凌晨零點(diǎn)的時(shí)間戳方法

    今天小編就為大家分享一篇python 獲取當(dāng)天凌晨零點(diǎn)的時(shí)間戳方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2018-05-05
  • 使用Nginx+uWsgi實(shí)現(xiàn)Python的Django框架站點(diǎn)動(dòng)靜分離

    使用Nginx+uWsgi實(shí)現(xiàn)Python的Django框架站點(diǎn)動(dòng)靜分離

    這篇文章主要介紹了使用Nginx+uWsgi實(shí)現(xiàn)Python的Django框架站點(diǎn)動(dòng)靜分離的部署實(shí)例,即靜態(tài)由Nginx處理而Python頁(yè)面由Django自帶的HTTP服務(wù)器處理,需要的朋友可以參考下
    2016-03-03
  • libreoffice python 操作word及excel文檔的方法

    libreoffice python 操作word及excel文檔的方法

    這篇文章主要介紹了libreoffice python 操作word及excel文檔的方法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2019-07-07
  • Python實(shí)現(xiàn)12306自動(dòng)搶火車(chē)票功能

    Python實(shí)現(xiàn)12306自動(dòng)搶火車(chē)票功能

    一到國(guó)慶、春節(jié)這種長(zhǎng)假,搶火車(chē)票就非常困難?各大互聯(lián)網(wǎng)公司都推出搶票服務(wù),只要加錢(qián)給服務(wù)費(fèi)就可以增加搶到票的幾率。本文將和你一起探索搶票軟件背后的原理。
    2021-12-12
  • python中斷time.sleep一種更優(yōu)雅的方式:event.wait

    python中斷time.sleep一種更優(yōu)雅的方式:event.wait

    這篇文章主要介紹了python中斷time.sleep一種更優(yōu)雅的方式:event.wait,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-11-11
  • Python利用contextvars實(shí)現(xiàn)管理上下文變量

    Python利用contextvars實(shí)現(xiàn)管理上下文變量

    Python?在?3.7?的時(shí)候引入了一個(gè)模塊:contextvars,從名字上很容易看出它指的是上下文變量。所以本文就來(lái)和大家詳細(xì)講講如何使用contextvars實(shí)現(xiàn)管理上下文變量,需要的可以參考一下
    2022-07-07
  • python實(shí)現(xiàn)簡(jiǎn)易內(nèi)存監(jiān)控

    python實(shí)現(xiàn)簡(jiǎn)易內(nèi)存監(jiān)控

    這篇文章主要介紹了python實(shí)現(xiàn)簡(jiǎn)易內(nèi)存監(jiān)控,每隔3秒獲取系統(tǒng)內(nèi)存,當(dāng)內(nèi)存超過(guò)設(shè)定的警報(bào)值時(shí),獲取所有進(jìn)程占用內(nèi)存并發(fā)出警報(bào)聲,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2018-06-06

最新評(píng)論