Programming

Programming/Django

내비게이션 바와 푸터 모듈화하기

내비게이션 바 버튼에 링크 추가하기 blog/tests.py def navbar_test(self, soup): navbar = soup.nav self.assertIn('Blog', navbar.text) self.assertIn('About Me', navbar.text) logo_btn = navbar.find('a', text="SangHui's Blog") self.assertEqual(logo_btn.attrs['href'], '/') home_btn = navbar.find('a', text='Home') self.assertEqual(home_btn.attrs['href'], '/') blog_btn = navbar.find('a', text='Blog') self.assertEqual(b..

Programming/Django

장고 프로젝트 새팅 다른 로컬에서 진행하기

가상 환경 구축 나같은 경우엔 venv pip install django 가상환경 진입 상태에서 python manage.py makemigrations python manage.py migrate --run-syncdb python manage.py createsuperuser 다시 시도해보면 됨.

Programming/Django

테스트 주도 개발 적용해보기

테스트 주도 개발 준비 python manage.py test 아무런 테스트 미션을 주지 않아서 성공한다고 나옴. blog/test.py from django.test import TestCase # Create your tests here. class TestView(TestCase): def test_post_list(self): self.assertEqual(2, 3) 다시 실행해보면 여기서 assertEqual(2, 2)라고 하면 ok 메세지가 나온다. beautifulsoup4 설치하기 pip install beautifulsoup4 포스트 목록 페이지 테 스트하기 blog/test.py from django.test import TestCase, Client from bs4 import Bea..

Programming/Django

장고(Django) 페이지 구성 개선하기

템플릿 파일에서 if문 사용하기 if-else 문으로 조건에 따라 이미지 보여주기 이미지가 있을 경우 보여주기 blog/templates/blog/post_list.html {% for p in post_list %} {%if p.head_mage%} {%endif%} {{p.title}} {{p.content}} Read More → Posted on {{p.created_at}} by 작성자명 쓸 위치(개발예정) {%endfor%} 이미지가 없을 경우 사용할 임의의 이미지 가져오기 Lorem Picsum 이용 {% for p in post_list %} {%if p.head_image%} {%else%} {%endif%} {{p.title}} {{p.content}} Read More → Posted..

Programming/Django

장고(Django) 정적 파일과 미디어 파일 관리하기

정적 파일 관리하기 지금까지 만든 프로젝트 구조에 이제 부트스트랩을 적용시켜 보자! 포스트 목록 페이지에 부트스트랩 적용하기 blog_list.html 다시 사용하기. 이 내용을 post_list.html에 덮어 씌워준다. Do It Django Home (current) Blog About Me Dropdown link Action Another action Something else here Log In   Log In ×    Log in with Google    Log in with E-mail    Sign Up with E-mail Close Blog January 1, 2022 Post Title Lorem ipsum dolor sit am..

Programming/Django

장고(Django) 웹 페이지 만들기

장고 프로젝트 초반 설정세팅 하기 https://sanghui48.tistory.com/92 - 장고 서버 세팅하기 URL 설정하기 표지판 역할을 하는 urls.py 페이지 URL 대문페이지 도메인/ 블로그 페이지 포스트 목록 도메인/blog/ 포스트 상세 도메인/blog/포스트_pk 자기소개 페이지 도메인/about_me/ 포스트 목록 페이지 만들기 프로젝트/url.py 만들기 from django.contrib import admin from django.urls import include, path urlpatterns = [ path('blog/', include('blog.urls')), path('admin/', admin.site.urls), ] blog/urls.py 생성 후 다음 내용 작..

Programming/Django

장고(django) 프로젝트에서 앱 만들기

모든 장고 프로젝트는 1개 이상의 앱으로 구성된다. 이때 '앱'은 '특정한 기능을 수행하는 단위 모듈'로 생각하면 된다. blog앱과 single_pages 앱 만들기 python manage.py startapp blog python manage.py startapp single_pages 위 두 명령어를 이용 하면 아래와 같이 2가지 앱이 추가적으로 생성된다. 모델 만들기 장고의 장점중 하나는 모델을 이용해 장고 웹 프레임워크 안에서 데이터베이스를 관리할 수 있다는 것이다. 블로그 글을 위한 모델 만들기 Post 모델 만들기 blog/models.py를 열어 다음과 같이 입력 from django.db import models # Create your models here. class Post(mod..

Programming/Django

장고(django) 기초

장고로 만든 웹 사이트 작동 구조 MTV 패턴을 따른다. 모델(model)로 자료의 형태를 정의하고, 뷰(view)로 어떤 자료를 어떤 동작으로 보여줄지 정의하고, 템플릿(template)으로 웹페이지에서 출력할 모습을 정의한다. 실습 환경 설정하기 venv라는 가상 환경을 만들면되는데, IDE를 써서 만들어도 되고 아니면 cli로 만들어도 되고 본인이 편한대로 만들면 된다. (나같은 경우는 파이참으로 오류나서 그냥 명령어모드로 만듬) 해당 프로젝트 디렉터리 내에서 다음 스크립트 실행 .venv\Scripts\activate.bat 그러면 터미널에서 앞에 (.venv)라는 문구가 생긴다. 가상 환경 상에서 장고를 설치해야 한다. pip install django 나 같은 경우에는 버전이 4.1.7이다. ..

Programming/Python

[파이썬] 리스트 내용 문자열로 합치기 - join

"구분자".join(list) 위와 같은 파이썬 join 함수를 이용하면 리스트의 내용을 문자열로 합칠수 있다. 이때 리스트 안의 원소들은 str type 이어야 한다. 코딩테스트나 특정 상황에서 유용하게 이용할 수 있는 함수니 꼭 기억해두도록 하자.

Programming/Python

[파이썬] 진법 변환하기

1. n 진법 -> 10진법 파이썬에서 int(string, base) 를 이용하면 n진법 수를 10진법으로 변환할 수 있다. 주의할점은 string 타입으로 수를 넘겨줘야 한다는점 예를 들어서 print(int('21' , 3)) # 3진법 수 21을 십진법수로 변환한 결과를 출력 print(int('123', 4)) # 4진법 수 123을 십진법수로 변환한 결과를 출력 7 27

Programming/Python

[파이썬] 몫, 나머지 연산자 - divmod

파이썬에서 몫, 나머지를 한번에 구하고 싶을때 다음 내장함수를 이용할 수 있다. quotient, remainder = divmod(나누고자 하는 수, 나눌 수) 그러면 몫 나머지가 반환 된다. return 값은 튜플 형태로 나온다. a = divmod(100, 3) print(a) (33, 1)

한상희
'Programming' 카테고리의 글 목록