일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
- 힙
- 다대일
- 유니크제약조건
- 스프링 폼
- 비관적락
- 동적sql
- 다대다
- fetch
- shared lock
- 연결리스트
- dfs
- FetchType
- querydsl
- 즉시로딩
- 연관관계
- SQL프로그래밍
- JPQL
- execute
- 백트래킹
- PS
- eager
- 낙관적락
- 데코레이터
- BOJ
- exclusive lock
- CHECK OPTION
- 스토어드 프로시저
- 일대다
- 이진탐색
- 지연로딩
- Today
- Total
목록All (557)
흰 스타렉스에서 내가 내리지
views.py from django.core.paginator import Paginator def home(request): # posts = Post.objects.all() posts = Post.objects.filter().order_by('-date') paginator = Paginator(posts, 5) pagenum = request.GET.get('page') # url 주소 상의 쿼리문 posts = paginator.get_page(pagenum) return render(request, 'index.html', {'posts':posts}) index.html {% if posts.has_previous %} 첫 페이지 이전 페이지 {% endif %} {{posts.numbe..
회원 관리를 위해서는 새로운 앱을 하나 만들어 줘야 한다 그 앱 상에서 로그인, 로그아웃, 회원가입을 관리해 주는게 효율적이다 앱 생성 python3 manage.py startapp accounts settings.py INSTALLED_APPS = [ 'django.contrib.admin', 'django.contrib.auth', 'django.contrib.contenttypes', 'django.contrib.sessions', 'django.contrib.messages', 'django.contrib.staticfiles', 'blogapp', 'accounts' ] 로그인 urls.py from accounts import views as accounts_views ... ... urlp..
models.py class Blog(models.Model): title = models.CharField(max_length=200) body = models.TextField() photo = models.FileField(default="", blank=True, null=True, upload_to='blog_photo') date = models.DateTimeField(auto_now_add=True) def __str__(self): return self.title class Comment(models.Model): comment = models.TextField(max_length=200) date = models.DateTimeField(auto_now_add=True) post = m..
settings.py MEDIA_ROOT = os.path.join(BASE_DIR, 'media') MEDIA_URL = '/media/' MEDIA_ROOT : 사용자가 업로드 한 미디어가 저장되는 경로 MEDIA_URL : 업로드 된 미디어에 접근할 수 있는 경로 urls.py from django.conf.urls.static import static from django.conf import settings ... ... ... urlpatterns += static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT) models.py class Blog(models.Model): title = models.CharField(max_length=20..
urls.py path('detail//', views.detail, name="detail"), index.html {% for post in posts %} 제목 : {{ post.title }} 작성 날짜 : {{ post.date }} {% endfor %} pk값을 이용해 특정 모델 객체 하나만 가져오기 : get_object_or_404() views.py def detail(request, post_id): blog_detail = get_object_or_404(Blog, pk=post_id) return render(request, 'detail.html', {'blog_detail':blog_detail}) detail.html 제목 {{ blog_detail.title }} 날짜 {{..
![](http://i1.daumcdn.net/thumb/C150x150.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/pPyou/btrEeYoI1jk/mmLUJRyUdOTeQzBpqzw9k1/img.png)
views.py def home(request): posts = Blog.objects.all() return render(request, 'index.html', {'posts': posts}) index.html {% for post in posts %} {{post.title}} - {{post.date}} {{post.body}} {% endfor %} 홈 화면 DB로부터 데이터를 필터링해서 가져오기 - 최신순으로 가져오기 views.py def home(request): # posts = Blog.objects.all() posts = Blog.objects.filter().order_by('-date') return render(request, 'index.html', {'posts': pos..
path 지정 urlpatterns = [ path('admin/', admin.site.urls), path('', views.home, name='home'), path('new/', views.new, name='new'), path('create/', views.create, name='create'), path('formcreate/', views.formcreate, name='formcreate'), path('modelformcreate/', views.modelformcreaete, name='modelformcreate'), ] forms.py - 비교를 위해 BlogForm도 같이 업로드한다 from django import forms from .models import Blog cl..
app에 forms.py 생성 from django import forms class BlogForm(forms.Form): # 내가 입력받고자 하는 값들 title = forms.CharField() body = forms.CharField(widget=forms.Textarea) views에 함수 작성 (GET) # django form을 이용해서 입력값을 받는 함수 # GET 요청과 (= 입력값을 받을 수 있는 html을 갖다 줘야함) # POST 요청 (= 입력한 내용을 데이터베이스에 저장. form에서 입력한 내용을 처리) # 둘 다 처리가 가능한 함수 def formcreate(request): if request.method == 'GET': form = BlogForm() return re..
![](http://i1.daumcdn.net/thumb/C150x150.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/bZQtAa/btrD3SXv72h/JgI03nRqGbXwQjW5VRfNvK/img.png)
장고는 settings.py 에서 다음 세 가지를 통해 static 파일들을 관리한다. STATICFILES_DIRS STATIC_URL STATIC_ROOT STATICFILES_DIRS static 파일들이 내 개발환경 내의 어디에 위치해 있는지 경로를 알려주도록 한다. STATIC_ROOT 실제로 배포를 할 때, static 파일들을 특정 폴더에 몰아놓고 배포를 할 것이다. 그 때 어떤 경로, 어떤 폴더에 static 파일들을 모아 놓을 것인지를 나타낸다. 'python3 manage.py collectstatic' 명령어를 통해 한 곳에 모아놓을 수 있다. 배포할 때만 필요하며 개발 중엔 필요없다. STATIC_URL static 파일들을 제공할 url 예를 들어, STATIC_URL = '/st..
여러 개 앱 생성 python3 manage.py startapp myapp python3 manage.py startapp product python3 manage.py startapp board settings.py에 앱 등록 INSTALLED_APPS = [ 'django.contrib.admin', 'django.contrib.auth', 'django.contrib.contenttypes', 'django.contrib.sessions', 'django.contrib.messages', 'django.contrib.staticfiles', 'myapp', 'board', 'product', ] urls.py 연결 from django.contrib import admin from django.u..