장고는 통합 리치 텍스트 편집기 Ueditor (방법 II) xadmin 사용

A, xadmin 설치 및 구성
의 두 번째 또는 세 번째 추천, 상기 제 1 장착 python3 실패한 설치 xadmin,

1 개  모드 1 : 설치 xadmin의 PIP
 2 번째 방법 : 동시 + 힘내 힘내를 설치 //github.com/sshwsfc/ xadmin.git을
 . 3 세 가지 방법 : 다운로드 https://codeload.github.com/sshwsfc/xadmin/zip/ 마스터 Zip 파일은 압축을 풀고 디렉토리를 입력
 4 setup.py 설치 직접 파이썬

내부 settings.py에 등록 2

1 INSTALLED_APPS = (
 2      # ........ 
3      ' xadmin ' ,
 4      '의 crispy_forms ' ,
 5 )

3, urls.py 수정

수입 xadmin의 
urlpatterns = [
     #의 URL (R '^ 관리 /'admin.site.urls), 
    URL (R ' ^ xadmin / ' , xadmin.site.urls) 
]


4, adminx.py 아래에 새 응용 프로그램

가져 오기 xadmin의 
xadmin.site.register (레벨) # 응용 프로그램 이름

5, 시작 장고

파이썬 manage.py의 makemigrations의 
파이썬 마이그레이션 manage.py를 
의 runserver 파이썬 manage.py를 8000

당신이 방문 할 수있는 성공적인 경우
(6), 방문

에 http : // 당신의 IP : 8000 / xadmin /

 

두, DjangoUeditor 설치 및 구성
1, 설치 DjangoUeditor, python2의 python3하고 명확하게하기.

방법 1 : 다운로드 https://github.com/twz915/DjangoUeditor3/ 명령 줄 실행에서 소스 패키지를 : 파이썬 setup.py 설치 
방법 두 가지를 명령 행 도구 핍 실행 (권장)를 사용하여 PIP하는 DjangoUeditor 설치

INSTALL_APPS 증가 2는 다음과 같다 :

INSTALLED_APPS = (
     # ........ 
    ' DjangoUeditor ' , 
)

setting.py 3, 다른 구성

. (1) UEDITOR_SETTINGS = {
 2      " 모음 " { #의 버튼이 복수의 행에 대한 정의를 허용하는 툴바를 표시하는 복수의 정의 
3.          " NAME1 " [[ ' 소스 ' , ' | ' , ' 굵게 ' , ' 기울임 ' , ' 밑줄 ' ]]
 . 4          " NAME2 " []
 . 5      },
 6.      " images_upload " {
 7.          "allow_type " :" JPG, PNG " , #의 정의가 업로드 허용 픽처 타입 
8.          " MAX_SIZE는 " : " 2,222킬로바이트 "  #의 정의는 이미지 사이즈가 0 무제한 수단 업로드 허용 
9.      },
 10      " files_upload " {
 . 11          " allow_type " : " ZIP을 , RAR " , #의 정의는 업로드 파일 형식 수 
(12)는          " MAX_SIZE " : " 2,222킬로바이트 "  #의 정의는 업로드 파일 크기 0으로되지는 제한 할 수 있습니다 
(13)      ,}
 14      "image_manager "{
 15          " LOCATION " : ""  #의 위치 이미지 관리자가 지정되지 않은 경우, 디폴트 경로가 동일한 이미지를 업로드하는 
16      }
 . 17  }
 18은 MEDIA_URL = ' / 업로드 / ' 
. 19 MEDIA_ROOT의 그것 os.path.join = (BASE_DIR, ' 업로드 / ' ) #는 이 브라우저에서 업로드 된 파일에 액세스 할 수있는 접두사 URL입니다        

설명 :
UEditorField는 models.TextField에서 상속, 그래서 당신은 직접 UEditorField에 직접 models.TextField 모델을 정의 할 수 있습니다 수있다.
: UEditorField 추가 매개 변수 제공
도구 모음 : 당신이 정상 미니, 전체, besttome, 일반적으로 작은 모든 대신, 스타일 그린 Weizhong 기여의 문자열을 표시 할 구성 도구 모음. 기본 도구 모음 사용자의 요구 사항을 충족하지 않는 경우에, 당신은 내부 디스플레이 설정 버튼을 구성 할 수 있습니다. 자세한 내용은 아래를 참조하십시오.
IMAGEPATH : 이미지 업로드 경로 등 업로드 "이미지 /"와 "{{MEDIA_ROOT}} / 이미지 " 폴더에
파일 경로를 부속서 경로를 업로드 등 업로드 "파일 /"로 "{{MEDIA_ROOT}} / 파일은 "폴더
scrawlPath를 : 낙서 파일 업로드 경로를, 예 :"scrawls / "는 업로드"{{MEDIA_ROOT}} / scrawls " 폴더를 기본 = ImagePath를 지정하지 않을 경우
imageManagerPath : 경로 사진 관리자 표시, 등 "IMGLIB는 /"는 "{{MEDIA_ROOT}} / IMGLIB를 업로드 ," 기본 = ImagePath를 지정하지 않을 경우.
옵션 : UEditor 다른 매개 변수, 사전 유형입니다. 내부 Ueditor ueditor_config.js 문서의 설명을 참조하십시오.
CSS : CSS 스타일 편집기 텍스트 영역의
너비, 높이 : 픽셀 에디터의 폭과 높이.

3, URL을 구성

 django.conf.urls.static 가져 정전기
 로부터 django.conf 임포트 설정 
URL (R ' ^ ueditor / ' (포함 ' DjangoUeditor.urls를 ' )) 
] + 정적 (settings.MEDIA_URL, DOCUMENT_ROOT = settings.MEDIA_ROOT)

4 구성 adminx.py

에서 webedit.models는 가져 *
 클래스 LevelAdmin (객체) : 
    style_fields = { " 내용 " : " ueditor " } 
xadmin.site.register (레벨, LevelAdmin)

5, xadmin 구성
xadmin / 플러그인에서 새로운 ueditor.py

수입 xadmin
 에서 xadmin.views는 가져 BaseAdminPlugin, CreateAdminView, ModelFormAdminView, UpdateAdminView을
 에서 DjangoUeditor.models가 가져 UEditorField을
 에서 DjangoUeditor.widgets 가져 UEditorWidget을
 에서 django.conf 가져 오기 설정 

클래스 XadminUEditorWidget (UEditorWidget) :
     데프  __init__ (자기, ** kwargs로) : 
        자기. ueditor_options = kwargs로 
        self.Media.js = 없음 
        슈퍼 (XadminUEditorWidget, 자기). __init__ (kwargs로)

클래스 UeditorPlugin (BaseAdminPlugin) : 

    데프 get_field_style (자기 attrs에, db_field, 스타일, ** kwargs로) :
         만약 스타일 == ' ueditor ' :
             경우 isinstance (db_field, UEditorField) : 
                위젯 = . db_field.formfield () 위젯 
                PARAM = { } 
                param.update (widget.ueditor_settings) 
                param.update (widget.attrs) 
                반환 { ' 위젯 ' : XadminUEditorWidget (** PARAM)}
         반환 바인드합니다을 

    데프block_extrahead (자체, 컨텍스트 노드) : 
        JS = ' <스크립트 유형 = "텍스트 / 자바 스크립트"SRC = "% S"> </ script> ' % (settings.STATIC_URL + " ueditor / ueditor.config.js을 " ) # 自己的静态目录 
        JS + = ' <스크립트 유형 = "텍스트 / 자바 스크립트"SRC = "% S"> </ script> ' % (settings.STATIC_URL + " ueditor / ueditor.all.js을 " ) # 自己的静态目录
        nodes.append (JS) 

xadmin.site.register_plugin (UeditorPlugin, UpdateAdminView) 
xadmin.site.register_plugin (UeditorPlugin,CreateAdminView) 
在xadmin / 플러그인 / __init__ueditor를 추가 평
 ' ueditor '                

6 모델에 ueditor 항목을 추가

에서 DjangoUeditor.models가 가져 UEditorField의 
    콘텐츠 = UEditorField (verbose_name = ' 内容' , 높이 = 500, 넓이 = 1000, 기본값 = U ' , IMAGEPATH = " Article_img / %% Y / %%의 m / " 툴바 = ' 전체 ' , 참고 FilePath = ' %% Y / %%의 m / ' , upload_settings = { " imageMaxSize " : 1,204,000}, {} = 설정 명령 = 없음)    

정적에 djangoueditor에 정적 파일을 복사, 다음 응용 프로그램 사용을 시작할 수 있습니다


7 페이지의 서식있는 텍스트 (장고의 자동 탈출 일반 디스플레이에 가까운)

{%의 autoescape % 할인 } 
{{item.content}} 
{ % endautoescape의 %}

 

원본 링크 : HTTPS : //blog.csdn.net/bbwangj/article/details/80883931

추천

출처www.cnblogs.com/zmdComeOn/p/11345418.html