[CSS] position

    .container { position: static; position: relative; position: absolute; position: fixed; position: sticky; } top-left, top-right, bottom-left, bottom-right ๊ฐ’์œผ๋กœ position ๋ณ€๊ฒฝ ๊ฐ€๋Šฅ static : default value / html์— ์ •์˜๋œ ์ˆœ์„œ๋Œ€๋กœ ๋ธŒ๋ผ์šฐ์ €์ƒ์— ์ถœ๋ ฅ relative : left, right ๊ฐ’ ์ ์šฉ ๊ฐ€๋Šฅ / ์›๋ž˜ ์ž๋ฆฌ์—์„œ ์ƒ๋Œ€์ ์œผ๋กœ ๊ฐ’๋งŒํผ ์ด๋™ absolute : item์ด ๋‹ด๊ธด ๊ฐ€์žฅ ๊ฐ€๊นŒ์šด box ๋‚ด์—์„œ ์œ„์น˜ ๋ณ€๋™ fixed : window ๋‚ด์—์„œ ๋ณ€๋™ / ์›น ํŽ˜์ด์ง€ ๋‚ด์—์„œ ๋ณ€๋™ / box์™€๋Š” ๋ฌด๊ด€ sticky : ์›๋ž˜ ์žˆ๋˜ ์ž๋ฆฌ์— ์žˆ๋˜, scrollin..

    [Django] null=True / blank=True

    null = True data = models.DataTimeField(null=True) - ํ•„๋“œ์˜ ๊ฐ’์ด NULL๋กœ ์ €์žฅ๋˜๋Š” ๊ฒƒ์„ ํ—ˆ์šฉ - ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์ปฌ๋Ÿผ์— ๊ด€ํ•œ ์„ค์ • - CharField์™€ TextField ๋“ฑ์˜ ๋ฌธ์ž ๊ธฐ๋ฐ˜ ํ•„๋“œ์—์„œ๋Š” ์‚ฌ์šฉ ํ”ผํ•  ๊ฒƒ - CharField์—์„œ unique=True์™€ blank=True ๋ชจ๋‘ ์„ค์ •๋  ๋•Œ๋Š” ์˜ˆ์™ธ blank = True title = models.CharField(blank=True) - ํ•„๋“œ๊ฐ€ ํผ(์ž…๋ ฅ ์–‘์‹)์—์„œ ๋นˆ ์ƒํƒœ๋กœ ์ €์žฅ๋˜๋Š” ๊ฒƒ์„ ํ—ˆ์šฉ - ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์—๋Š” ''์ด ์ €์žฅ๋จ - ์žฅ๊ณ  ๊ด€๋ฆฌ์ž ๋ฐ ์ง์ ‘ ์ •์˜ํ•œ ํผ์—๋„ ๋ฐ˜์˜ - ์œ ํšจ์„ฑ ๊ฒ€์‚ฌ(form.is_valid())์™€ ๊ด€๋ จ์žˆ๋‹ค ๐Ÿ‘‰ null=True, blank=False ์˜ต์…˜์„ ๊ฐ€์ง„ ํ•„๋“œ = DB ๋ ˆ๋ฒจ์—์„œ๋Š”..

    Pycharm/Cmder๋กœ ๊ฐ€์ƒํ™˜๊ฒฝ ์‹คํ–‰ ๋ฐ ํ”„๋กœ์ ํŠธ ์ƒ์„ฑ

    1. ๊ฐ€์ƒํ™˜๊ฒฝ ์ƒ์„ฑ 1. File > Settings 2. Project: ํ”„๋กœ์ ํŠธ ํด๋”๋ช… > Python Interpreter > ์„ค์ •(icon) > Add 3. C:\..\ํ”„๋กœ์ ํŠธ ํด๋”๋ช…\๊ฐ€์ƒํ™˜๊ฒฝ๋ช… > OK 4. Python Interpreter์— python.exe ๊ฒฝ๋กœ ์ง€์ •(์ž๋™) 5. Package์— pip์™€ setuptools ์ƒ์„ฑ(์ž๋™) 5-1. Python Interpreter์— invalid ํ‘œ์‹œ ๋œจ๋ฉด ๊ฒฝ๋กœ ๋‹ค์‹œ ์ง€์ • 6. Apply > OK 2. ๊ฐ€์ƒํ™˜๊ฒฝ ์‹คํ–‰ 1. cmder์—์„œ ํ”„๋กœ์ ํŠธ ํด๋”๊ฐ€ ์žˆ๋Š” ์œ„์น˜๋กœ ์ด๋™ 2. venv(๊ฐ€์ƒํ™˜๊ฒฝ๋ช…)\Scripts\activate.bat 3. deactivate ๋ช…๋ น์–ด๋กœ ์ข…๋ฃŒ 4. pip list๋กœ ์„ค์น˜ ํŒจํ‚ค์ง€ ๋ฐ ๋ฒ„์ „ ํ™•์ธ 3. ์žฅ๊ณ  ํ”„๋กœ์ ํŠธ ์ƒ..

    [Bootstrap] checkbox์™€ radio

    ๐Ÿ‘‰ ์ธ๋ผ์ธ ์ฒดํฌ๋ฐ•์Šค, ๋ผ๋””์˜ค - ์ฒดํฌ๋ฐ•์Šค๋‚˜ ๋ผ๋””์˜ค ์ปจํŠธ๋กค์„ ๊ฐ™์€ ์ค„์— ์ถœ๋ ฅ - ์ค„๋งˆ๋‹ค ๋„์šธ๋•Œ๋Š” ๋‹จ์ˆœ class="checkbox" ์ž‘์„ฑ 1 2 3 1 2 3

    [Django] pip freeze '@ file:///' ํ˜•ํƒœ๋กœ ๋‚˜์˜ฌ ๋•Œ ํ•ด๊ฒฐ

    pip list --format=freeze > requirements.txt ์ถœ์ฒ˜ : https://stackoverflow.com/questions/62863020/pip-freeze-generating-file-on-conda-environment

    [Django] ๋กœ๊ทธ์ธ / ๋กœ๊ทธ์•„์›ƒ / ํšŒ์›๊ฐ€์ž…

    [ User ๊ธฐ๋ณธ ] 1. python manage.py startapp account ๋ฅผ ํ†ตํ•ด ๊ณ„์ • ๊ด€๋ จ ์•ฑ ์ƒˆ๋กœ ์ƒ์„ฑํ•œ๋‹ค 2. settings.py์—์„œ INSTALLED_APPS์— ์•ฑ ์ƒ์„ฑ ์•Œ๋ ค์ฃผ๊ธฐ 3. templatesํด๋”์— login.html๊ณผ signup.html ์ƒ์„ฑ(๋กœ๊ทธ์•„์›ƒ์€ ํ•„์š”์—†์Œ) 4. views.py์—์„œ ๋กœ๊ทธ์ธ ํผ๊ณผ ํšŒ์›๊ฐ€์ž… ํผ ์ƒ์„ฑ from django.shortcuts import render, redirect from django.contrib.auth.forms import AuthenticationForm, UserCreationForm from django.contrib.auth import authenticate, login, logout 5. views.py def lo..

    [Django] ๊ณตํ†ต๋œ template ์ƒ์†

    1. project ํด๋” ํ•˜์œ„์— templates ํด๋” ์ƒ์„ฑ 2. base.html ์ƒ์„ฑ 3. DOCTYPE, html, head, navbar ๋“ฑ ๊ณตํ†ต๋œ ์š”์†Œ๋“ค ์ž‘์„ฑ 4. ํ•˜์œ„์— {% block content %} {% endblock %} ์„ ์‚ฌ์šฉํ•˜์—ฌ ๋‚ด์šฉ ๊ฐ์‹ธ์ค„ ๋ถ€๋ถ„ ๋งŒ๋“ค์–ด์ฃผ๊ธฐ 5. ๊ฐ ํ…œํ”Œ๋ฆฟ์— ๊ณตํ†ต๋œ ์š”์†Œ๋“ค ์‚ญ์ œ ํ›„ 6. ๊ฐ€์žฅ ์ƒ๋‹จ์— {% extends 'base.html' %} ์ž‘์„ฑ 7. ๊ณตํ†ต๋˜์ง€ ์•Š์€ ์š”์†Œ๋“ค์„ {% block content %} {% endblock %} ๋กœ ๋ฌถ์–ด์ค€๋‹ค

    [CSS] Flexbox

    float ๋ชฉ์  : ์ด๋ฏธ์ง€์™€ ํ…์ŠคํŠธ ์–ด๋–ป๊ฒŒ ๋ฐฐ์น˜ํ•  ๊ฒƒ์ธ์ง€ ์ •์˜ - left, center, right : ํ…์ŠคํŠธ๊ฐ€ ์ด๋ฏธ์ง€ ๊ฐ์‹ธ๋Š” ํ˜•ํƒœ๋กœ ๋‚˜ํƒ€๋‚จ flexbox 1. container์— ์ ์šฉ : display, flex-direction, flex-wrap, justifu-content, align-iems, ... 2. item์— ์ ์šฉ : order, flex-grow, flex, align-self, flex-shrink ์ค‘์‹ฌ์ถ•(main axis)๊ณผ ๋ฐ˜๋Œ€์ถ•(cross axis)์ด ์žˆ๋‹ค ์‹ค์Šต ์ค€๋น„ div.container>div.item.item${$}*10 ์ž…๋ ฅ ํ›„ tabํ‚ค ๋ˆ„๋ฅด๊ธฐ Tip height: 100% → ์•„์ดํ…œ์— ๋งž๊ฒŒ ๋†’์ด๊ฐ€ ์ง€์ •๋จ, ์•„์ดํ…œ์ด ๋“ค์–ด์žˆ๋Š” ๋ถ€๋ชจ์˜ ๋†’์ด์— 100% ์ฑ„์šฐ๊ฒ ๋‹ค ์˜ˆ๋ฅผ ๋“ค๋ฉด..