다른사람의 코드를 보니.. 내 스타일로 바꾸고 싶어지는게 몇개 있다.
그리고 이 코드는 분명 나보다 실력자이신 분이 만든거라서 이해가 안되는 부분도 있지만,
파이썬 장고를 메인으로 하시는 분이 아니다보니 개선해야될 사항들이 눈에 보인다.
우선 views 분리, settings 분리, base.html 생성, gunicorn 사용, user model 사용, forms.py 사용, 반응형 웹 사용 등등
그런데 지금 UNIQUE constraint failed: auth_user.username 에러가 나서 이거부터 고쳐야 한다.
회원가입할때 회원정보를 입력하고 회원가입을 누르면 가입되어있지않은 정보인데도 이메일이 중복됐다고 뜬다.
-> 내가 유저모델이랑 그냥 모델이랑 섞어놔서 에러가 난다. 원래 구글 소셜로그인으로 바꾸려고 했으니까 이참에 구글로바꿔버려야겠다.
어드민으로 로그인하고 예약하려고 하면 이게 뜬다 (해결)
참조: 링크
edit_views.py
def new(request, equipment_type):
.
.
.
for i in range(0,5):
day = start_day + timedelta(days=i)
reservations_day = reservations.filter( # 하루치 예약 목록
equipment_type=equipment_type,
# author=request.user.username,
author__username=request.user.username,
equipment_date=day
).order_by('equip_start_time')
temp_list = [] # 예약 시작 시간, 예약 끝 시간, 간격(30분)
for res in reservations_day:
temp_list.extend(myrange(res.equip_start_time, res.equip_finish_time, 0.5))
day_list.append(temp_list)
return render(request, 'reservation/new.html', {
'equipment_type': equipment_type,
'date_diff':date_diff,
'weekday_mark':weekday_mark,
'day_list':day_list,
'start_day_diff':start_day_diff
})
my_views.py
def myreservation(request):
# myreserv = get_object_or_404(Reservation, pk=request.user.username)
today = date.today() # 오늘 날짜
now_time = datetime.now() # ex) (2007, 12, 6, 16, 29, 43, 79043)
now = now_time.hour + (now_time.minute/60) # 현재 시간 # 왜 60으로나누는거지?
reservations = Reservation.objects.filter(author__username=request.user.username)
# 장비 예약 날짜가 오늘보다 크거나 끝나는시간이 지금보다 나중일때 목록을 불러옴
# reservation_list = reservations.filter(Q(author=request.user.username, equipment_date__gt=today)|Q(author=request.user.username, equipment_date=today, equip_finish_time__gte=now))
# reservation_list = Reservation.objects.filter(Q(user=request.user.username, equipment_date__gt=today)|Q(user=request.user.username, equipment_date=today, equip_finish_time__gte=now))
reservation_list = reservations.filter(Q(equipment_date__gt=today)|Q(equipment_date=today, equip_finish_time__gte=now))
return render(request, 'reservation/myreservation.html', {'reservation_list':reservation_list})
user모델을 fk로 받은 author의 username에서 request.user.username을 받아야하는데 author의 id값에서 받으려고해서 생긴 에러였다.
-> gt인데 gf로 오타가 나서 나타난 에러
일단 기능부터 제대로 다 만들고 디자인이랑 내부코드 수정을 해야겠다.