2017-03-26 2 views
1

기존 장고 응용 프로그램을 확장하려고합니다. 앱이 정상적으로 작동하지만 블로그 기능을 추가하고 싶습니다.기존 Django 응용 프로그램에 설치 한 후 Wagtail에 페이지 템플리트를 추가하는 방법

I가 설치되어 할미새를 확인하려면 여기 (http://docs.wagtail.io/en/latest/getting_started/integrating_into_django.html) 가이드 라인을 사용하여, 할미새을 설치 한, 여기에 탐색 한 : http://myurl/cms

그리고 할미새 관리 패널이 표시됩니다. http://myurl/admin으로 이동하면 장고 앱의 기본 관리자 제어판이 표시됩니다.

이제 블로그를 만들려고합니다. http://wiseodd.github.io/techblog/2015/06/22/developing-wagtail/ 는 A 첫 단계로 다음을 제안한다 :

나는이 자습서를 발견 -

첫째, 우리는 이미 기본적으로 만들어집니다 홈 페이지 클래스와 우리의 일반적인 페이지 클래스를 만듭니다 때 Wagtail 프로젝트를 시작했습니다.

# core/models.py 

from wagtail.wagtailcore.models import Page 
from wagtail.wagtailcore.fields import RichTextField 
from wagtail.wagtailadmin.edit_handlers import FieldPanel 
from wagtail.wagtailsearch import index 

# We’re deriving our GenericPage from Page class, so that our GenericPage also has Page’s field, e.g. title 
class GenericPage(Page): 
    # Let’s create our custom field, named body which is a rich text 
    body = RichTextField() 

    # Index the body field, so that it will be searchable 
    search_fields = Page.search_fields + (index.SearchField(‘body'),) # To show our body field in admin panel, we have to wrap it with FieldPanel and add it to Page’s field panel content_panels = Page.content_panels + [FieldPanel('body', classname=‘full’)] 

나는이 점을 추가하는 의미 된 파일을 찾을 수 없습니다 :

그것은 다음이 코드를 표시합니다. 나는 GREP을 사용하여 시스템을 검색하고 텍스트 문자열을했다 파일의 수를 발견 내 원래 응용 프로그램 디렉토리 내에서

env/lib/python2.7/site-packages/wagtail/project_template 

:

from wagtail.wagtailcore.models import Page 

내가 가장 가능성있는 후보는 디렉토리라고 판단합니다. 위의 디렉토리에있는 models.py 파일에 위의 코드를 추가했습니다. 나는 그 다음 도망 갔다.

python manage.py makemigrations 

그러나 이주는 발견되지 않았다. 위에 게시 된 자습서의 다음 단계에서는 제어판에서 만드는 데 사용할 수있는 세 가지 유형의 페이지가 표시되어야한다고 제안하지만 페이지를 만들 수있는 옵션을 찾을 수 없습니다. 나는 위의 올바른 파일을 편집 할 경우

  1. 당신은 말해 줄 수 있나요, 아니면 제가 다른 파일을 편집해야하는 경우, 또한

  2. 는 이유는 무엇에 새 페이지를 추가 할 수있는 옵션을보고 있지 않다 wagtail 제어판?

여기 문서 (http://docs.wagtail.io/en/latest/getting_started/tutorial.html)와 협의하고 '홈페이지 모델을 확장'섹션을 다음 시도했지만 홈/models.py 파일이라고 아무 폴더가 없기 때문에 어디 알아낼 수있다 내 Django 응용 프로그램의 홈.final section of the "integrating into Django" docs로서 어떤 조언

답변

1

에 대한

감사는 말한다 :

이제 장고 프로젝트에 새 응용 프로그램을 추가 할 준비가 (./manage.py startapp를 통해 - INSTALLED_APPS에 추가 기억) 및 설정 페이지 모델까지

./manage.py startapp blog을 실행하면 빈 models.py 포함하여 프로젝트에 blog 응용 프로그램을 추가합니다 -이 추가 곳이다 귀하의 페이지 정의. (Wagtail 문서는 표준 Django 워크 플로우를 따르고 있기 때문에 자세한 내용은 다루지 않습니다. 기존 Django 프로젝트를 가지고있는 사람들이 익숙한 것입니다 ...)

wagtail start my_project을 사용하는 자습서 스타터 프로젝트에는 HomePage 모델이 미리 설정된 models.py과 함께 제공되기 때문에이 단계가 생략됩니다. 찾은 site-packages/wagtail/project_template 디렉토리는 실제로는 wagtail start my_project을 실행하는 시점에서 복제 된 시작 프로젝트의 '마스터'사본입니다. 이것은 현재 프로젝트에 연결되지 않기 때문에 변경하지 않아도됩니다.

+0

감사합니다. @gasman 블로그 앱을 만든 다음 기본 프로젝트의 settings.py에 설치된 앱에 추가했습니다. 새 apps의 models.py를 수정하여 샘플 models.py와 일치시키고, (http://docs.wagtail.io/en/latest/getting_started/tutorial.html) 'manage.py makemigrations'및 'manage.py migrate'를 실행하고 완료했습니다. . 나는 wagtail 컨트롤 패널의 차이를보기 위해 내가 뭘할지 알아 내려고 애 쓰고있다. – Gary

+0

모든 것을 올바르게 설정했다면 탐색기 -> 홈페이지 -> 하위 페이지 추가로 이동하면 정의 된 페이지 유형을 볼 수 있습니다. – gasman

+0

wagtail 관리자 패널에서 새 블로그 앱의 models.py를 어떻게 업데이트했는지 어떻게 알 수 있습니까? 나는이 둘 사이의 연결을 이해하지 못한다. – Gary