장고에서 쿼리 스트링으로 전달되는 문자열을 수정해서 다시 보내려고 시도하려고 한다. 이런 쿼리스트링이 저장된다는 QueryDict 라는 놈은 변경이 되지 않네. 이걸 다른 객체로 복사하고, 수정/삭제/추가 등의 변경을 한다음 QueryDict.copy() Python 표준 라이브러리의 copy.deepcopy()를 사용하여 객체의 복제를 생성하여 리턴한다. 복제는 변경가능하므로 값을 변경할 수 있다. 출처: https://engineer-mole.tistory.com/121 [매일 꾸준히, 더 깊이:티스토리] 문자열로 변환해서 사용하면 된다. 다시 쿼리 문자열에 대입할 수 없고 걍 문자열 변수로 넘겨주고 템플릿에서 적당히 받아서 다시 처리하자. 내가 사용한 코드는 그냥 참고로 아래에 둔다. s_page ..
동일한 ID를 쓰고 있는 객체의 이벤트를 받아 처리할 때는 그냥 $(#사용중인ID).on('click', .... 이렇게 사용하면 맨 처음 객체만 반응하는 경우가 나타났다. 나만 그런가? ㅋㅋ 암튼 아이디를 동일하게 사용해도 사용된 모든 객체에 이벤트를 발생하려면 아래와 같이 복수개를 처리할 수 있는 selector 형태로 불러 써야 한다. $("[id='사용중인ID']").on('click', function () { return confirm("Are you sure you want to delete?"); }); 간단하지만 실수하기 쉽다. 참고 페이지는 아래 https://stackoverflow.com/questions/8498579/how-does-jquery-work-when-there-are..
한글이 잘 안되는 경우가 있다. 유니코드로 저장되어 버려서 이게 한글인지 코드인지 구분이 안된다. 먼저, 파일 오픈할때는 encoding 옵션을 꼭 주고, f = open('test.txt','w', encoding='utf-8') dump 호출 할때 아래와 같이 하면 해결! dump 옵션에 allow_unicode=True 옵션 추가 yaml.dump(test, outfile, default_flow_style=False, allow_unicode=True) https://devgwang.tistory.com/4 pyyaml 모듈 pyyaml은 파이썬에서 yaml 양식을 가진 파일을 다룰 때 사용하는 모듈이다. 공식 사이트는 Python - PyYaml Module 이며, 사용 가이드 및 버전 정보를 ..
매번 찾아 보는게 귀찮어 필요한 내용은 정리해 둔다. 출처를 분명히 밝혀둔다. https://wikidocs.net/36797 7.3 QTableWidget `QTableWidget`을 사용할 때는 미리 행과 열 크기를 지정하고 아이템을 삽입한다. 행과 행과 열의 크기는 생성자에서 지정할 수도 있고, `setRowCount(ro ... wikidocs.net table = QTableWidget(6,3) table.setAlternatingRowColors(true) table.horizontalHeader().setSectionResizeMode(QHeaderView.Stretch) for i=0 in range(table.rowCount()): for j=0 in range(table->columnC..
redirect 를 하는데 쿼리 스트링을 같이 넘기고 싶을때, 이 간단한 것도 찾아봐야 하나 암튼 reverse 를 이용해서 아래처럼 하면 해결이 된다. return redirect(reverse_lazy("devices:page", kwargs={"pk": pval}) + "?" + request.GET.urlencode()) 참고한 사이트 주소는 여기 https://stackoverflow.com/questions/19784810/redirect-to-a-url-with-query-string-in-django Redirect to a url with query string in Django How can I go to a specific URL with parameters like if I have..
Django 4 버전 이상에서 CSRF 체크하는 부분이 좀 더 엄격하게 되어 있다는 사실을 에러가 나면 알게된다. 이전에 아무 문제 없이 잘 돌았는데, 새로 설치하다 보니 장고가 최신버전으로 설치되고, 잘 동작하던 웹 서비스가 갑자기 CSRF 에러를 발생시키며 404 에러 등을 찍는다....이러면 이렇게 수정하면 된다. https://not-to-be-reset.tistory.com/552 CSRF 토큰 오류 에러 내용 django 에서 DEBUG 옵션을 True로 둔 뒤, POST 요청을 보내면 아래와 같이 에러 내용이 출력된다. 1. 웹 브라우저에서 접속 시 403 error CSRF verification failed. Request aborted 2. django log For.. not-to-b..
로그 기능을 넣기는 해야 겠다. 콘솔로 계속 띄워서 볼 수 는 없으니 미들웨어 기능으로 모든 request 를 로그를 저장해 보자고 맘 먹고 막 찾기 일단 구현된 결과는 아래 참고. 먼저, settings 에 로그 기능에 대한 설정을 해 둬야 한다. 여러군데 참고하는 중 젤 많이 보는 Pybo 게시판 쪽의 글을 가져와서 맞춰서 쓰기로 함 https://wikidocs.net/77522 작성한 코드는 아래와 같다. 아래 코드에서 파일로 저장하는 부분에 주목해서 보세요. (먼저 작업 폴더에 logs 라는 폴더를 수동으로 하나 만들어 둬야 한다) LOGGING = { "version": 1, "disable_existing_loggers": False, "filters": { "require_debug_fal..
regroup 기능을 이용해서 장고 템플릿에서 그룹별로 데이터를 출력하도록 쓰고 있는데, 이놈의 html이란 테이블에서 그룹별로 줄을 하나로 보이게 묶으려니깐 rowspan 이런거 써야 한다. 잘 정리된 글이 있어 일단 참조 https://stackoverflow.com/questions/25998557/grouping-with-rowspan-and-regroup-in-django Grouping with rowspan and regroup in Django I have a many to one relationship in Django: Model A and model B. I need to output a table where the objects are ordered and grouped by nam..
select 선택 값을 jquery로 가져오기, 너무 쉽지 그냥 select 선택해서 val() 하면 되는거 아냐~~~~~ 했다가 ㅋㅋㅋ 실패 NoneType 이 올라오는데 ㅋㅋㅋ 아래처럼 해야 한다. var selvalue = $('#selectbox_id').find(":selected").text(); https://stackoverflow.com/questions/10659097/jquery-get-selected-option-from-dropdown jQuery Get Selected Option From Dropdown Usually I use $("#id").val() to return the value of the selected option, but this time it doesn't ..
영문으로 된 질문은 Foreign key field value instead of id without nesting schemas? 즉, Schema 만들때 외부키로 연결된 모델의 필드 값을 같이 볼 수 있도록 하는 방법, 그러나 nesting 되기를 원하지 않는다. 그냥 쉽게 하면 nesting으로 되기 때문에 중괄호 안에 또 중괄호가 생겨서 그 값을 가져와야 한다. 그냥 장고 템플릿에서 하는 것 처럼 "외부키__필드명" 이런형태로 막 가져오면 좋으련만 그르케 되지 않네 참고로, nesting 된다는 의미는 아래 결과 값을 참고하면 금방 알 수 있다. dep 밑에 dep 필드 가져오려면 복잡해 지제 { id: 1000, name: 'Some name', dep: { dep: 'Some Text' } }..
NULL 로 저장된 필드값을 비교하는 방법이 머였지? DB 마다 다를 수 있으니 잘 챙겨보시고, PostgreSQL 에서의 정답은 IS NULL IS NOT NULL SELECT id, first_name, last_name, email, phone FROM contacts WHERE phone IS NULL; https://www.postgresqltutorial.com/postgresql-tutorial/postgresql-is-null/ PostgreSQL IS NULL Summary: in this tutorial, you will learn how to use the PostgreSQL IS NULL operator to check if a value is NULL or not. Introduc..
modelform을 사용하면서 model 에 정의되지 않는 별도의 사용자 필드를 추가해야 하는 경우가 많다. (ㅋ 나만 그런가) 암튼 이런경우, 템플릿에서는 안 보이기를 원하는 것이 당연하다. 이미 준비되어 있다 장고는 대부분이 forms.HiddenInput() class TagStatusForm(forms.ModelForm): class Meta: model = TagStatus widgets = {'tag': forms.HiddenInput()} https://stackoverflow.com/questions/15795869/django-modelform-to-have-a-hidden-input Django ModelForm to have a hidden input So I have my TagSt..
UpdateView 를 이용해서 view 함수를 꾸미는 경우 url 에 정의되어 있는 path parameter 를 어떻게 보나 살펴보고 있다. 그냥 view 함수는 그냥 매개변수로 넘겨주니깐 쉽게 되는데, class view 로 하는경우는 멀로 참고하나? 정답은 kwargs['변수명'] 뽑아 쓰라는 것 이네!! 아래 예제를 보면, self.kwargs["원하는변수명"] 이런식으로 뽑아쓰고 있는 것을 볼 수 있다. class DNSSettingsUpdateView(UpdateView): model = Domain form_class = NsRecordModelForm template_name = "engine/dns_settings.html" def get_object(self, queryset=None..
폼 객체를 한줄씩 쭉 나열되어 있고, 체크박스가 맨 앞에 있어서 체크를 하면 해당 줄이 활성화 되도록 하는 것 많이 정답들이 나와 있지만, 간단하게 구현한 결과를 저장 $("input:checkbox").on('click', function() { var target_input_name = "#" + $(this).val() + "_quantity" if ( $(this).prop('checked') ) { console.log($(this).val()) $(target_input_name).prop("disabled", false); $(target_input_name).focus(); } else { $(target_input_name).prop("disabled", true); $(target_in..
장고 템플릿에서 이 데이터가 있는지 없는지 보고 어떤 표현을 해야 하는 경우가 다반사이다. 이때 자꾸 헷갈려서 여기 한번 적어 둔다. 이런 내용은 매번 찾아보는 듯 쓸때마다 그냥 None 을 체크하면 될 듯하다. 아래처럼 == None 을 체크하던지, 아니면 그냥 변수명만 조건문에 넣어도 되는 것 같다. {% if profile.user.first_name == None %} {% if not profile.user.first_name %} https://stackoverflow.com/questions/11945321/what-is-the-equivalent-of-none-in-django-templates What is the equivalent of "none" in django templates?..