상식닷컴
로그인
가입하기
2026년 상식닷컴 선정 식당 & 카페 리스트
2025년 2026년 신상 호텔 리스트
최근에 오픈한 호텔을 찾는다면 살펴보세요
일주일 식단표 어플
자동 일주일 식단표 어플
안드로이드
아이폰
주식 & 코인 차트의 신
1000만원으로 2000만원 만들기 프로젝트
수정하기 - 파이썬 장고에서 폼(Form)을 생성하고 사용하는 방법은?
닉네임
비밀번호
제목
내용
[이미지 업로드는 권한이 있는 사람만 가능. 하단 카톡으로 연락]
파이썬 Django에서 폼(Form)을 생성하고 사용하는 방법에 대해 알아보겠습니다. Django는 웹 애플리케이션을 개발할 때 폼을 쉽게 처리할 수 있는 강력한 도구를 제공합니다. 아래 단계에 따라 Django에서 폼을 생성하고 사용하는 방법을 설명하겠습니다. 1. Django 프로젝트 및 앱 설정먼저 Django 프로젝트와 앱을 생성해야 합니다. 아래 명령어를 사용하여 새로운 프로젝트와 앱을 생성합니다.```bashdjango-admin startproject myprojectcd myprojectpython manage.py startapp myapp``` 2. 모델 생성 (선택 사항)폼을 사용하기 위해 모델을 정의할 수 있습니다. 예를 들어, 사용자 정보를 저장할 `UserProfile` 모델을 생성해보겠습니다.```python# myapp/models.pyfrom django.db import modelsclass UserProfile(models.Model): name = models.CharField(max_length=100) email = models.EmailField() age = models.IntegerField() def __str__(self): return self.name```모델을 생성한 후, 데이터베이스에 반영하기 위해 마이그레이션을 수행합니다.```bashpython manage.py makemigrationspython manage.py migrate``` 3. 폼 생성Django의 `forms` 모듈을 사용하여 폼을 생성합니다. 모델을 기반으로 폼을 만들거나, 직접 필드를 정의할 수 있습니다.```python# myapp/forms.pyfrom django import formsfrom .models import UserProfileclass UserProfileForm(forms.ModelForm): class Meta: model = UserProfile fields = ['name', 'email', 'age']``` 4. 뷰(View) 생성폼을 처리할 뷰를 생성합니다. 사용자가 폼을 제출하면 데이터를 처리하고, 성공적으로 저장되었는지 확인하는 로직을 작성합니다.```python# myapp/views.pyfrom django.shortcuts import render, redirectfrom .forms import UserProfileFormdef user_profile_view(request): if request.method == 'POST': form = UserProfileForm(request.POST) if form.is_valid(): form.save() return redirect('success') # 성공 페이지로 리디렉션 else: form = UserProfileForm() return render(request, 'myapp/user_profile.html', {'form': form})``` 5. URL 설정뷰를 호출할 수 있도록 URL을 설정합니다.```python# myapp/urls.pyfrom django.urls import pathfrom .views import user_profile_viewurlpatterns = [ path('profile/', user_profile_view, name='user_profile'),]```그리고 프로젝트의 `urls.py` 파일에 앱의 URL을 포함시킵니다.```python# myproject/urls.pyfrom django.contrib import adminfrom django.urls import path, includeurlpatterns = [ path('admin/', admin.site.urls), path('', include('myapp.urls')),]``` 6. 템플릿 생성사용자에게 폼을 보여줄 HTML 템플릿을 생성합니다.```html<!-- myapp/templates/myapp/user_profile.html --><!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>User Profile</title></head><body> <h1>User Profile Form</h1> <form method="post"> {% csrf_token %} {{ form.as_p }} <button type="submit">Submit</button> </form></body></html>``` 7. 성공 페이지 생성 (선택 사항)폼 제출 후 리디렉션할 성공 페이지를 생성할 수 있습니다.```python# myapp/views.pydef success_view(request): return render(request, 'myapp/success.html')``````html<!-- myapp/templates/myapp/success.html --><!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>Success</title></head><body> <h1>Profile submitted successfully!</h1></body></html>```URL 설정에 성공 페이지를 추가합니다.```python# myapp/urls.pyfrom .views import user_profile_view, success_viewurlpatterns = [ path('profile/', user_profile_view, name='user_profile'), path('success/', success_view, name='success'),]``` 8. 서버 실행모든 설정이 완료되었으면 서버를 실행하여 폼을 테스트합니다.```bashpython manage.py runserver```웹 브라우저에서 `http://127.0.0.1:8000/profile/`로 이동하여 폼을 확인하고 제출해보세요. 결론이렇게 Django에서 폼을 생성하고 사용하는 기본적인 방법을 알아보았습니다. Django의 폼 시스템은 데이터 유효성 검사, 에러 <a href='https://sangseek.com/sangseeks/메시지 처리/ko'>메시지 처리</a>, CSRF 보호 등 다양한 기능을 제공하므로, 웹 애플리케이션 개발 시 매우 유용합니다. 추가적으로, Django의 폼을 사용하여 더 복잡한 기능을 구현할 수 있으며, 다양한 필드 유형과 위젯을 활용하여 사용자 경험을 개선할 수 있습니다.
이용안내
커뮤니티 이용안내
×
- 게시한 게시글로 발생하는 문제는 게시자에게 책임이 있습니다.
- 게시글이 타인/타업체의 저작권을 침해할 경우 모든 책임은 게시자에게 있습니다. 게시자가 모든 손해를 부담해야 합니다.
- 상식닷컴 운영자는 게시자와 상의하지 않고 게시글을 수정 또는 삭제할 수 있습니다.
- 상식닷컴 운영자는 깨끗한 커뮤니티 공간을 만드는 것이 1순위입니다.
수정하기
취소하기