Django와 소셜 미디어 사이트 구축 - 프로젝트 구축(제1부분)

안녕하세요, 개발자, 저는 이 여러 부분의 강좌 시리즈를 만들고 있는데 중심은 Django를 배우는 것입니다.이 강좌는 초보자들에게 매우 친절하여 일부 실제 프로젝트를 통해 초보자들이 Django를 배울 수 있도록 도와줄 것이다.
간단하게 보기 위해서, 우리는 이 프로젝트에서 어떠한 전단 프레임워크도 사용하지 않을 것이다.프로젝트에서 HTML, CSS(부트 및 일부 사용자 정의 CSS) 및 JQuery를 사용합니다.
이 시리즈의 강좌는 주로 Django를 배우는 데 중점을 두기 때문에 우리는 주로 Django를 주목한다.
그럼 우리가 할 프로젝트에 대해 이야기해 봅시다.이것은 간단한 소셜 미디어 사이트로 사용자가 그 중에서 다음과 같은 일을 할 수 있다.
  • 사진과 설명, 라벨을 발표합니다.언제든지 업데이트하거나 삭제할 수 있습니다.
  • 타인의 개인 정보를 보고 그들에게 친구 요청을 보내면 친구 요청을 잘못 보내면 취소합니다.
  • 다른 사용자로부터 친구 요청을 수락하거나 거절합니다.
  • 기존 친구의 친구 관계를 해제한다.
  • 태그에 따라 게시물을 검색합니다.
  • 사용자 이름을 기반으로 사용자를 검색합니다.
  • Discover new people(새로운 친구 발견) 부분은 서로 관계에 따라 새로운 친구를 추천한다.
  • 이것들은 모두 우리가 세울 사이트의 특징이다.그러니까 부분적으로 하자.
  • 따라서 첫 번째 강좌에서 Django 프로젝트를 설정할 것입니다.

    새 Django 프로젝트 만들기


    따라서 새로운 Django 프로젝트를 세우는 것은 매우 간단하다.우선, 이전에 Django를 설치한 적이 없다면 설치해야 한다.
    Django를 설치하려면 다음 명령을 실행해야 합니다.
    pip install Django
    
    이 명령은 우리 시스템에 Django를 설치할 것입니다.이제 우리는 Django를 사용할 수 있다.이제 Django 프로젝트를 시작합시다.다음 명령을 사용하여 새 Django 프로젝트를 만듭니다.
    django-admin startproject photoshare
    
    여기서 포토쉐어는 우리가 Django 프로젝트에 지어주고 싶은 이름을 나타낸다.
    Django 프로젝트를 작성하고 작성합니다.만약 당신이 만든 폴더를 살펴보면, 안에 많은 파일이 있을 것이다.
    그것은 관리층이 있을 것이다.py 파일과 포토share 폴더폴더의 이름을 변경해서는 안 됩니다.하지만 외부 폴더의 이름을 바꿀 수 있습니다.
    포토셰어 폴더에 들어가면 URL 같은 다양한 파일을 볼 수 있습니다.네, 설치합니다.py와 기타 파일.너는 모든 이 파일들이 코드가 있는 것을 볼 수 있다.우리는 다음 항목에 우리의 코드를 추가할 것이다.
    우리는 로컬 서버에서 이 사이트를 운영해서 모든 것이 정상인지 검사할 수 있다.
    이를 위해 CLI에서 관리하는 동일한 폴더에서 다음 명령을 실행합니다.py 파일이 있습니다.
    python manage.py runserver
    
    이렇게 하면 Django 기본 페이지가 다음과 같이 표시됩니다.

    현재 다음 명령을 실행하여 데이터베이스 이전을 진행하고 데이터베이스를 동기화합니다.
    SQLite3 데이터베이스를 내장하여 개발 및 테스트에 사용할 예정입니다.나중에 생산에 들어가면 Postgre SQL과 같은 강력한 데이터베이스로 전환할 수 있습니다.
    따라서 마이그레이션을 수행하려면 다음 두 명령을 실행할 수 있습니다.
    python manage.py makemigrations
    python manage.py migrate
    
    지금, 나는 너희들에게 Django의 강점을 대부분 알려주고 싶다.내장형 관리 패널이 있습니다.그래서 우리는 스스로 관리 패널을 세울 필요가 없다.우리는 당연히 더 좋은 디자인과 맞춤형 관리 패널을 만들 수 있지만, 만약 우리가 원한다면, 기본적인 것은 벌금이다.
    그래서 관리 패널에 접근하려면 슈퍼 사용자를 만들어야 합니다.수퍼유저는 관리 패널에 액세스하고 데이터베이스 요소를 편집할 수 있습니다.
    수퍼유저를 만들려면 다음 명령을 실행할 수 있습니다.
    python manage.py createsuperuser
    
    이 명령을 실행하면 CLI 자체가 사용자 이름, e-메일 및 암호를 묻습니다.그리고 슈퍼 사용자를 만들 거예요.
    이제 서버를 다시 실행하여 관리 패널에 액세스할 수 있습니다.서버가 시작되고 실행되면/admin 페이지의 관리 패널에 액세스할 수 있습니다.기본 URL에/admin을 추가합니다. (localhost: 8000/admin 또는 127.0.0.1: 800/admin처럼 보입니다.) 방문하여 물어보십시오.

    자격 증명을 입력하면 다음과 같이 Django Admin 대시보드로 이동합니다.

    관리자 홈페이지에는 현재 '그룹과 사용자' 필드만 있습니다.새 모델을 만들고 관리 패널에 추가하면 여기에 나타납니다.
    이제 보시다시피 한 명의 사용자가 있습니다. 사용자는 대시보드를 관리하는 사용자 프로파일에 수퍼유저 액세스 권한 외에 녹색 확인 표시가 표시되기 때문에 수퍼유저 액세스 권한을 가질 수 있습니다.
    현재, 우리는 필요한 응용 프로그램 (Django의 일부 항목을 응용 프로그램이라고 부른다) 을 만들고 싶습니다.우리는 두 개의 다른 응용 프로그램을 제공할 것이다. 우리는 두 개의 다른 응용 프로그램을 제공할 것이다.
    사용자 응용 프로그램은 신분 검증, 사용자 프로필, 친구 및 발송, 수신 요청, 검색 사용자와 새로운 친구를 사귀는 모든 모델, 폼과 보기, 즉 사용자와 관련된 모든 것을 처리할 것이다.
    Feed 응용 프로그램은 게시물에 대한 모든 모델, 보기와 폼, 즉 게시물, 게시물의 칭찬과 평론, 검색, 특정 사용자의 게시물 표시 등을 처리한다.
    두 응용 프로그램을 Django 프로젝트에 생성하려면 CLI를 사용하고 다음 명령을 입력합니다.
    python manage.py startapp feed
    python manage.py startapp users
    
    상기 두 명령을 실행하면 각각 두 개의 응용 프로그램 - feed와users를 만들 것입니다.둘 다python 파일을 포함할 것입니다.잠시 후, 우리는 이 파일들에 내용을 추가할 것이다.
    현재, 설정에 프로그램을 등록합시다.내부 포토share 폴더의py 파일입니다.설정을 엽니다.가장 좋아하는 텍스트/코드 편집기에서 파일을 복사하고, 다음 코드 줄을 파일에 설치된 응용 프로그램 목록에 추가합니다.
    따라서 설치된 응용 프로그램 목록에 두 요소를 추가합니다. -
    ‘users.apps.UsersConfig’,
    'feed.apps.FeedConfig’,
    
    지금 보면 이렇다. -
    INSTALLED_APPS = [
        'users.apps.UsersConfig',
        'feed.apps.FeedConfig',
        'django.contrib.admin',
        'django.contrib.auth',
        'django.contrib.contenttypes',
        'django.contrib.sessions',
        'django.contrib.messages',
        'django.contrib.staticfiles',
    ]
    
    설치된 응용 프로그램 목록에 있는 내용을 삭제하지 마십시오.
    또한, Django 양식은 crispy forms를 사용하여 사용할 것입니다. 이 양식은 나중에 작성할 것이기 때문에 설치할 것입니다.
    pip install django-crispy-forms
    
    또한 프로그램이기 때문에 설정의 설치된 프로그램 목록에 추가해야 합니다.py 파일이 하나 더 있습니다.추가된 설치 응용 프로그램 목록은 다음과 같습니다.
    INSTALLED_APPS = [
        'users.apps.UsersConfig',
        'feed.apps.FeedConfig',
        'crispy_forms',
        'django.contrib.admin',
        'django.contrib.auth',
        'django.contrib.contenttypes',
        'django.contrib.sessions',
        'django.contrib.messages',
        'django.contrib.staticfiles',
    ]
    
    또한, crispy forms는 기본적으로 Bootstrap 3을 사용하기 때문에 Bootstrap 4를 사용하도록 설정하고자 합니다.이렇게 하려면 설정의 끝에 이 줄을 추가하십시오.py 파일.
    CRISPY_TEMPLATE_PACK = ‘bootstrap4’
    
    정적 경로와 미디어 경로를 지정해야 합니다.설정에 다음 줄을 추가합니다.이 작업을 수행하려면py 파일을 사용하십시오(이미 존재하는 경우 모든 줄을 건너뛰십시오):
    STATIC_ROOT = os.path.join(BASE_DIR, 'staticfiles')
    STATIC_URL = '/static/'
    MEDIA_ROOT = os.path.join(BASE_DIR, 'media')
    MEDIA_URL = '/media/'
    
    이제 Django가 특정한 상황에서 어떻게 해야 하는지 알려줄 수 있도록 설정을 더 추가합니다.
    LOGIN_REDIRECT_URL = 'home'
    LOGIN_URL = 'login'
    
    첫 번째 행은 Django가 로그인에 성공한 후 홈 페이지에 들어가도록 지시합니다.우리는 홈페이지를 사이트의 첫 페이지에 유지할 것이다.사용자를 리디렉션할 페이지를 선택할 수 있습니다.
    두 번째 행은 로그인 페이지에 필요한 URL을 검색할 때 "login"URL 이름에 지정된 경로를 사용하도록 지시합니다.나중에 알게 될 거야.
    이제 비밀번호 복구 시스템을 설정합니다.사용자가 암호 재설정을 요청하면 이메일을 보냅니다.이를 위해 Gmail을 사용하겠습니다.
    Gmail 호스트 사용자 (Gmail id) 와 비밀번호를 가져옵니다. (이 링크에 접근해서 비밀번호를 생성합니다.)이 강좌는 이 임무를 완성하는 데 도움이 될 것이다.
    EMAIL_BACKEND = 'django.core.mail.backends.smtp.EmailBackend'
    EMAIL_HOST = 'smtp.gmail.com'
    EMAIL_PORT = 587
    EMAIL_USE_TLS = True
    EMAIL_HOST_USER = os.environ.get('EMAIL_HOST_USER')
    EMAIL_HOST_PASSWORD = os.environ.get('EMAIL_HOST_PASSWORD')
    
    이 설정들은 프로그램을 문제없이 구축할 수 있도록 해 줍니다.인증 시스템은 양호한 암호 복구 기능을 갖추게 될 것이다.
    그래서 현재 당신의 프로젝트를 설정했습니다. 다음 강좌에서 사용자 응용 프로그램을 만들 것입니다.
    나는 네가 이 강좌의 첫 번째 부분을 좋아하길 바란다. 그것은 설정에 관한 것이다.다음 부분에서는 사이트의 실제 구축을 안내해 드리겠습니다.
    전체 코드를 보려면 project’s Github Repo를 참조하십시오.또한 액세스this link를 통해 이 응용 프로그램을 시험적으로 사용할 수 있습니다.그것은 Heroku와 구글 클라우드 저장소의 미디어와 정적 파일에 위탁되어 있다.

    좋은 웹페이지 즐겨찾기