티스토리 뷰

반응형

그누보드6 는 

python(언어) + FastAPI(프레임워크) + jinja (템플릿엔진) 

https://github.com/gnuboard/g6

 

GitHub - gnuboard/g6: Python CMS with fastapi

Python CMS with fastapi. Contribute to gnuboard/g6 development by creating an account on GitHub.

github.com

다운을받습니다.

c드라이브에 g6라는 폴더를 만듭니다.

cmd를 열어서 해당 위치로 가줍니다  

python -m venv venv 를 입력해줍니다

python -m venv

아래처럼  venv폴더가 생깁니다.

 

 venv\Scripts\activate 

 

(venv) C:\g6>pip install -r requirements.txt

Installing collected packages: webencodings, ua-parser, pytz, passlib, zipp, user-agents, tzdata, typing-extensions, tenacity, sniffio, six, python-multipart, python-dotenv, pyparsing, pymysql, pycparser, psycopg2-binary, Pillow, pbr, packaging, numpy, MarkupSafe, lxml, kiwisolver, itsdangerous, importlib-resources, idna, h11, greenlet, fonttools, filelock, exceptiongroup, cycler, colorama, certifi, cachetools, bcrypt, annotated-types, tzlocal, testresources, SQLAlchemy, python-dateutil, pydantic-core, plotly, Jinja2, httpcore, contourpy, click, cffi, bleach, anyio, uvicorn, starlette, pydantic, pandas, matplotlib, httpx, cryptography, APScheduler, sse-starlette, pyopenssl, fastapi, Authlib

pip 업그레이드를 하실수도있습니다.

uvicorn main:app --reload

INFO:     Will watch for changes in these directories: ['C:\\g6']
INFO:     Uvicorn running on http://127.0.0.1:8000 (Press CTRL+C to quit)
INFO:     Started reloader process [10044] using StatReload
INFO:     Started server process [7308]
INFO:     Waiting for application startup.
INFO:     Application startup complete.

 

 

 python.exe -m pip install --upgrade pip

 

 

http://127.0.0.1:8000 이 기본주소입니다

 

그누보드6가 윈도우 상태에서 잘 돌아가고 있습니다.

 

 

 

 

그누보드6 재설정은

Uvicorn running on http://127.0.0.1:8000 (Press CTRL+C to quit)

ctrl+c 로 uvicorn을 종료시킨다음에

 

^C
(venv) C:\g6>INFO:     Shutting down
INFO:     Waiting for application shutdown.
INFO:     Application shutdown complete.
INFO:     Finished server process [1056]

 

설치 폴더에서

.en 와 sqlite 파일을 지워주면 초기화 되어서 다시 그누보드 초기설정이 가능합니다

 venv까지 종료되었다면

다시 켜는 방법은

venv\Scripts\activate 

uvicorn main:app --reload

 

(현재 환경은 윈도우 10에서 오토셋으로 php 서버로 그누보드5를 운영중인데 거기에 추가로 그누보드6 설치하는 설명)

sqlite는 가볍기는 하지만 한번 연결하고 있을때는 다른 연결이 안되기 때문에 mysql 로 연결로 설정했다.

 

그리고 디비설치를 mysql로 할때 오류가 발생하는 경우에 처리법 

errno: 150 "Foreign key constraint is incorrectly formed"

 

이런 경우 외부 참조하는  FOREIGN KEY(mb_id) REFERENCES g6_member (mb_id) )CHARSET=utf8mb4

의 내용을 찾아서 mb_id가 각각 다른 컬럼 의 길이로 설정되었는지를 확인해라

일부에서는 string(10) 인데 다른 곳에서는 string(255)으로 적혀있을것이다

이것의 확인은 

core.model에서 찾을수 있다.,

 

 gr_id = Column(String(255), ForeignKey(DB_TABLE_PREFIX + "group.gr_id"), nullable=False, default="")

 gr_id = Column(String(10), primary_key=True, nullable=False)

 

처럼 외부 키값 참조를 할때 문자열의 길이가 달라서 생기는 오류이다

sqlite보다 mysql이 더 많은 기능을 쓰기 때문에 더 엄격하다.

 

방법은 첫빨간줄의 부분으로 가서 뒤 빨간줄의 mb_id 컬럼의 길이를 일치시켜준다

gr_id , mb_id, 이런 것들 일부에서 참조를 하면서 20 을 255로 만들어 차이가 발생한 것들을 수정해주면된다.

 

음...지금 그누보드 사이트 갔더니 

점검중이네요-_- 모 곧 열리겠지만

이거 팁으로 그누보드 사이트에 올릴려고 했는데....

반응형
댓글
반응형
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
«   2024/05   »
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 29 30 31
글 보관함