본문 바로가기

웹 개발 이야기73

[PHP] 파일 저장(확장자 체크, thumnail, 기존 파일 삭제) lib_inc.php function thumnail($file, $save_filename, $save_path, $max_width, $max_height) { $img_info = getimagesize($file); if ($img_info[2] == 1) { $src_img = ImageCreateFromGif($file); } elseif ($img_info[2] == 2) { $src_img = ImageCreateFromJPEG($file); } elseif ($img_info[2] == 3) { $src_img = ImageCreateFromPNG($file); } else { return 0; } $img_width = $img_info[0]; $img_height = $img_info.. 2023. 5. 25.
[django] Ubuntu20.04 가상서버 세팅 # cafe24의 가상서버(ubuntu20.04)를 구입하여 진행했다. # anaconda 설치하여 진행 # mac(m1)의 터미널을 이용하여 가상 서버에 접속했다. [가상 서버 접속] # mac에서 가상 서버 접속 ssh root@[서버HostName or IP] ssh root@[서버HostName or IP] -p [Port] [Anaconda 설치] # download # 공식사이트에서 버전과 파일명 확인 # https://www.anaconda.com/download#downloads wget https://repo.anaconda.com/archive/Anaconda3-2023.03-1-Linux-x86_64.sh Free Download | Anaconda Anaconda's open-sou.. 2023. 5. 16.
[django] 텍스트 자르고 말줄임표 적용(templates) // templates 폴더의 html 문서에서 truncatechars 를 사용하면 원하는 길이만큼 텍스트를 자르고 말줄임표를 적용할 수 있다. {{ p.psubject|truncatechars:40 }} 2023. 5. 15.
[django] Tag (manytomany) models.py class Tag(models.Model): pidx = models.ForeignKey('Program', related_name='tagpost', on_delete=models.CASCADE, db_column='pidx', verbose_name='프로그램', null=True) name = models.CharField(max_length=50) def __str__(self): return self.name class Program(models.Model): yn_choices = ( ('Y', 'Y'), ('N', 'N'), ) pcate = models.ForeignKey('BoardCategory', related_name='pcpost', on_delete=models.. 2023. 5. 12.
[django] input[type=file] 을 이용하여 첨부한 파일 저장 views.py import os def programdetailupdate(request: HttpRequest, pk: int) -> HttpResponse: std = Program() srd = Program.objects.get(id=pk) std.pk = pk if request.FILES['pimg']: uploaded_file = request.FILES['pimg'] file_name = uploaded_file.name # 현재 날짜 가져오기 curdt = datetime.now() curdty = curdt.year curdtm = curdt.month curdtd = curdt.day mloc = f'laboratory/program/{curdty}/{curdtm}/{curdtd}'.. 2023. 5. 11.
[django] DB에 담긴 파일 삭제 urls.py from django.conf.urls.static import static from django.conf import settings from . import views urlpatterns = [ path('program/pimgdelete/', views.pimgdelete, name='pimgdelete'), ] views.py def pimgdelete(request): pk = request.POST.get('pk') fieldname = request.POST.get('fieldname') if pk is None: result = HttpResponse('pk is nothing') elif fieldname is None: result = HttpResponse('field.. 2023. 5. 11.