이미지가 없는 웹사이트?

이미지가 없는 웹사이트는 오늘날 인터넷에서 최악의 상황이 될 것입니다.

그리고 그 사실에도 불구하고 일부 개발자는 웹 사이트에 이미지를 추가하는 방법을 모릅니다.

django 관리자 패널을 사용하여 이를 수행하는 방법은 다음과 같습니다.

모델 클래스 이름 프로필을 사용합시다.

 class Customer(models.Model):
  user = models.OneToOneField(User, null=True, blank=True, on_delete=models.CASCADE)
  name = models.CharField(max_length=200, null=True)
  email = models.CharField(max_length=200)



가장 먼저 해야 할 일은 클래스에 이미지 필드를 추가하는 것입니다.

 image = models.ImageField(null=True, blank=True)



필로우 패키지를 추가해야 합니다. Python Imaging Library는 광범위한 이미지 파일 유형에 액세스, 처리 및 저장하는 지원을 추가하는 Python용 무료 오픈 소스 확장 라이브러리입니다.

이 명령을 실행하여 베개 패키지를 설치할 수 있습니다.

 pip install pillow 



마이그레이션을 실행하여 데이터베이스에 데이터를 추가하여 진행할 수 있습니다.

 python  manage.py makemigrations
 python  manage.py migrate



다음 단계는 미디어 URL과 루트를 업데이트하는 것입니다. 이렇게 함으로써 django에게 이미지를 저장할 위치를 알려줍니다. 이것을 settings.py 파일에 추가해야 합니다.

 MEDIA_URL = '/images/'

 MEDIA_ROOT = os.path.join(BASE_DIR, 'static/images')



사이트의 urls.py 파일로 이동하여 일부 패키지를 가져와야 합니다.

 from django.conf.urls.static import static
 from django.conf import settings


이것이 어떻게 생겼는지입니다.

 from django.contrib import admin
 from django.urls import path, include
 from django.conf.urls.static import static
 from django.conf import settings

 urlpatterns = [
     path('admin/', admin.site.urls),
     path(' ', include('store.urls')),
    ]



그런 다음 이것을 urls.py 파일에 추가합니다. 이것은 이미지에 대한 경로를 추가하는 것입니다.

 urlpatterns += static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)



그런 다음 django 관리자 패널을 사용하여 이미지를 업로드할 수 있습니다.

마지막으로 html 파일에 이미지를 렌더링할 수 있습니다.

 <img class="thumbnail" src="{{profile.image.url}}">



보너스 팁

이미지가 삭제되거나 누락된 경우 어떻게 합니까? 우리는 전체 웹사이트가 갑자기 작동을 멈추는 것을 원하지 않습니다.

이 오류를 해결하는 방법에는 두 가지가 있습니다.

1. 모델 클래스에 속성 데코레이터 추가

 @property 
    def imageURL(self):
       try:
        url = self.image.url
       execpt:
        url = ""
       return url



2. IF 문 사용

   {% if product.image %}
       <img class="thumbnail" src="{{profile.image.url}}">
   {% else %}
       <img class="thumbnail" src="{% static 'images/placeholder. png %}">
   {% endif %}

좋은 웹페이지 즐겨찾기