Thứ ba, 25/02/2014 | 00:00 GMT+7

Cách cài đặt Django CMS phiên bản 3 Beta 3 với Django 1.6 trên Ubuntu

Kể từ khi phát hành sớm hơn nửa năm trước, version 3 của Django CMS đã được phát triển liên tục. Gói mới nhất của nhà phát triển có sẵn (Beta 3) đi kèm với lời hứa về một API mà bạn có thể dựa vào - dự kiến sẽ không thay đổi nhiều so với việc xuất bản RC1 .


Trong bài viết DigitalOcean này, ta sẽ xem cách cài đặt và bắt đầu với hệ thống quản lý nội dung (CMS) mạnh mẽ này mà các nhà quản lý không thể chờ đợi để bắt đầu sử dụng. Hơn nữa, ta sẽ cố gắng cung cấp một số nguyên tắc sẽ giúp giải quyết thách thức lớn khi nâng cấp Django CMS từ version 2.

Lưu ý: Nếu bạn quan tâm đến việc cài đặt version hiện đang ổn định (phiên bản 2 tính đến tháng 3 năm 2014) của Django CMS, hãy xem bài viết của ta : Cách cài đặt và cài đặt Django CMS .

Bảng chú giải


1. Django và Django CMS


  1. Django
  2. Django CMS

2. Bắt đầu: Chuẩn bị Ubuntu Server


3. Cài đặt Django CMS version 3 Beta 3


  1. Môi trường ảo Python cho CMS Django
  2. Django CMS và phụ thuộc
  3. Nâng cấp lên version 3 từ version 2

4. Cấu hình Django CMS 3


  1. Tạo một dự án mới
  2. Cấu hình settings.py
  3. Cấu hình urls.py
  4. Cấu hình mẫu
  5. Database và di chuyển
  6. Chạy Django CMS

5. Sẵn sàng cho production


6. Tóm tắt


Django và Django CMS


Django


Django là một khung phát triển web dựa trên ngôn ngữ lập trình Python . Là một dự án và thư viện cực kỳ lớn, nó đóng gói và vận chuyển hàng tấn công cụ và tính năng cho các nhà phát triển mong muốn được bắt đầu nhanh chóng.

Django CMS


Django CMS là một hệ thống quản lý nội dung và khung phát triển web thực sự thân thiện với nhà phát triển được xây dựng dựa trên Django. Nó sử dụng đầy đủ chức năng nâng cao của Django và cung cấp giao diện phát triển có thể cắm được để tạo các trang web thuộc mọi loại.

Là một ứng dụng dành cho doanh nghiệp và trưởng thành, Django CMS biết điều gì là có giá trị. Trong những năm qua, dự án đã tập trung rất nhiều vào các lĩnh vực chính để giúp cuộc sống dễ dàng hơn cho cả các nhà phát triển hack trên công cụ cũng như administrator hệ thống.

Với việc phát hành version 3, Django CMS nhằm mục đích thay đổi trò chơi - nếu bạn muốn - và cung cấp một giao diện được cải tiến đáng kể và một bộ tính năng ấn tượng.

Bắt đầu: Chuẩn bị VPS Ubuntu của bạn


Django CMS là một dự án Python và bạn cần điều chỉnh hệ thống của bạn một cách chính xác để cài đặt và chạy trang web của bạn mà không gặp trục trặc hoặc lỗi.

Nếu bạn chưa chuẩn bị server của bạn cho việc này, hãy nhanh chóng đến với bài viết Ubuntu / Python của ta :

Cách chuẩn bị server cloud Ubuntu cho ứng dụng web Python

Và tiếp tục với hướng dẫn cài đặt (hoặc nâng cấp) Django CMS được tìm thấy bên dưới.

Cài đặt Django CMS version 3 Beta 3


Môi trường ảo Python cho CMS Django


Nếu bạn chưa có, hãy tạo một môi trường ảo:

virtualenv django_env cd         django_env 

Hoặc kích hoạt nó:

# Remember to enter the directory: # cd [django_env] source bin/activate 

Django CMS và phụ thuộc


Vì Django CMS version 3 chưa được phát hành, ta cần cài đặt ứng dụng từ nhánh phát triển của repository Git của họ.

Chạy lệnh sau để Cài đặt Django CMS 3 bằng pip :

pip install git+git://github.com/divio/django-cms.git@develop#egg=django_cms 

Và cài đặt bất kỳ trình điều khiển database nào bạn có thể cần sử dụng, ví dụ:

# PostgreSQL: pip install psycopg2 

Một trong những phần mềm dựa trên phụ thuộc nhiều nhất là Thư viện ảnh Python (PIL). PIL được Django CMS sử dụng để xử lý hình ảnh (ví dụ: cắt xén, thay đổi kích thước, v.v.)

Điều đó đang được nói, ta sẽ không cài đặt trực tiếp PIL và lựa chọn một fork có sức chứa hơn của PIL được gọi là “gối”. Gói này tương thích với setuptools và tự động giải quyết một số vấn đề sẽ phát sinh nếu ta thử và sử dụng pil .

Chạy như sau để cài đặt gối :

pip install pillow 

Nâng cấp lên version 3 từ version 2


Chạy lệnh sau để nâng cấp Django CMS 3 bằng pip :

pip install --upgrade git+git://github.com/divio/django-cms.git@develop#egg=django_cms 

Lưu ý: Đối với các bản nâng cấp, hãy lưu ý không phải mọi thứ đều tương thích ngược và mọi thứ có thể bị hỏng. Do đó, vui lòng kiểm tra các bài đăng trên blog Phiên bản 3 Beta để chọn thêm một số mẹo nâng cấp hữu ích.

Cấu hình Django CMS 3


Bắt đầu với Django CMS là một quá trình đơn giản, nhưng nó yêu cầu một số cài đặt . Ta sẽ bắt đầu với việc khởi động cấu hình và tạo một số file mẫu ví dụ mà bạn có thể sử dụng để bắt đầu.

Tạo một dự án mới


Là một ứng dụng dựa trên Django, Django CMS cũng đi kèm với một số công cụ tự động hóa, quản trị và quản lý.

Để tạo một dự án mới bằng django-admin , hãy chạy như sau:

# Usage: python django-admin.py startproject [project name] # Example: django-admin.py startproject dcms  # And enter the application directory: cd dcms 

Cấu hình settings.py


Cũng giống như Django, ta cần thực hiện một số thay đổi với settings.py - file cấu hình chính.

Chạy lệnh sau để bắt đầu chỉnh sửa settings.py bằng editor nano:

# Usage: nano [project dir. name]/settings.py # Example: nano dcms/settings.py 

Copy paste (hoặc sửa đổi) khối mã bên dưới vào đầu file để có một biến trỏ đến vị trí folder dự án cơ sở:

# -*- coding: utf-8 -*- import os BASE_DIR = os.path.dirname(os.path.dirname(__file__)) PROJECT_PATH = BASE_DIR 

Cuộn xuống và tìm cột bắt đầu bằng INSTALLED_APPS.

Sửa đổi nó để trông giống như sau, tức là:

INSTALLED_APPS = (      # Additional plugin examples     # e.g.:     # Django CMS CK Editor:     # https://github.com/divio/djangocms-text-ckeditor     # 'djangocms_text_ckeditor',      # Django CMS:     'cms',      # Utilities:     'mptt',     'menus',     'south',     'sekizai',      # Other CMS modules:     'djangocms_admin_style',       # Django:     'django.contrib.admin',     'django.contrib.auth',     'django.contrib.contenttypes',     'django.contrib.sessions',     'django.contrib.messages',     'django.contrib.staticfiles',     'django.contrib.sites',  ) 

Tiếp tục, tìm MIDDLEWARE_CLASSES và sửa đổi nó cho tương tự như bên dưới:

MIDDLEWARE_CLASSES = (      # Django:     'django.contrib.sessions.middleware.SessionMiddleware',     'django.middleware.common.CommonMiddleware',     'django.middleware.csrf.CsrfViewMiddleware',     'django.contrib.auth.middleware.AuthenticationMiddleware',     'django.contrib.messages.middleware.MessageMiddleware',     'django.middleware.clickjacking.XFrameOptionsMiddleware',     'django.middleware.locale.LocaleMiddleware',     'django.middleware.doc.XViewMiddleware',      # Django CMS:     'cms.middleware.page.CurrentPageMiddleware',     'cms.middleware.user.CurrentUserMiddleware',     'cms.middleware.toolbar.ToolbarMiddleware',     'cms.middleware.language.LanguageCookieMiddleware',  ) 

Bước tiếp theo là thêm cài đặt TEMPLATE_CONTEXT_PROCESSORS .

Nối khối mã dưới đây vào file :

TEMPLATE_CONTEXT_PROCESSORS = (      'django.contrib.auth.context_processors.auth',     'django.contrib.messages.context_processors.messages',     'django.core.context_processors.i18n',     'django.core.context_processors.request',     'django.core.context_processors.media',     'django.core.context_processors.static',     'cms.context_processors.media',     'sekizai.context_processors.sekizai',  ) 

Cuối cùng, đi đến cuối file này và tìm dòng STATIC_URL . Xóa nó và thay vào đó nối những thứ sau cho phù hợp với nhu cầu của bạn:

SITE_ID = 1  STATIC_ROOT = os.path.join(PROJECT_PATH, 'static') STATIC_URL = '/static/'  MEDIA_ROOT = os.path.join(PROJECT_PATH, 'media') MEDIA_URL = '/media/'  TEMPLATE_DIRS = (      # List of template directories.     # Example:     os.path.join(PROJECT_PATH, 'templates'),  )  CMS_TEMPLATES = (      # List of templates.     # Example:     ('template_1.html', 'Template One'),  )  LANGUAGES = (      # List of languages.     # Example:     ('en-us', 'English'),  ) 

Lưu và thoát bằng cách nhấn CTRL + X và xác nhận với Y.

Cấu hình urls.py


Bước tiếp theo là cài đặt một số URL, được cấu hình bên trong file urls.py

Chạy phần sau để bắt đầu chỉnh sửa urls.py bằng nano:

# Usage: nano [project dir. name]/urls.py # Example: nano dcms/urls.py 

Thay thế nội dung bằng một cái gì đó tương tự như ví dụ sau:

# Django CMS 2: # from django.conf.urls.defaults import * # Django CMS 3: from django.conf.urls import patterns, include, url  from django.conf.urls.i18n import i18n_patterns from django.contrib import admin from django.conf import settings  admin.autodiscover()  urlpatterns = i18n_patterns('',     url(r'^admin/', include(admin.site.urls)),     url(r'^', include('cms.urls')), )  if settings.DEBUG:     urlpatterns += patterns('',     url(r'^media/(?P<path>.*)$', 'django.views.static.serve',         {'document_root': settings.MEDIA_ROOT, 'show_indexes': True}),     url(r'', include('django.contrib.staticfiles.urls')), ) + urlpatterns 

Lưu và thoát bằng cách nhấn CTRL + X và xác nhận với Y.

Cấu hình mẫu


Trước khi tạo database và thử nghiệm cài đặt (hoặc nâng cấp), hãy tạo một số mẫu.

Lưu ý: Đảm bảo xác định các mẫu bên trong file settings.py trước và sau đó tạo chúng cho phù hợp.

Chạy các bước sau để tạo các folder và file mẫu:

mkdir templates touch templates/base.html touch templates/template_1.html 

Chỉnh sửa các templates/base.html bằng nano:

nano templates/base.html 

Với ví dụ sau:

{% load cms_tags sekizai_tags %} <html>   <head>       {% render_block "css" %}   </head>   <body>       {% cms_toolbar %}       {% placeholder base_content %}       {% block base_content %}{% endblock %}       {% render_block "js" %}   </body> </html> 

Lưu và thoát bằng cách nhấn CTRL + X và xác nhận với Y.

Chỉnh sửa các templates/template_1.html bằng nano:

nano templates/template_1.html 

Với ví dụ sau:

{% extends "base.html" %} {% load cms_tags %}  {% block base_content %}   {% placeholder template_1_content %} {% endblock %} 

Lưu và thoát bằng cách nhấn CTRL+X và xác nhận với Y

Database và di chuyển


Để cài đặt dự án mới, hãy chạy các lệnh sau để khởi tạo (hoặc cài đặt ) database :

python manage.py syncdb --all python manage.py migrate --fake 

Và thực hiện một số kiểm tra tính toàn vẹn:

python manage.py cms check  # OVERALL RESULTS # ===============  # 1 checks skipped! # 8 checks successful!  # Installation okay 

Lưu ý: Để nâng cấp, hãy chạy di chuyển nếu cần, ví dụ:

python manage.py syncdb python manage.py migrate  # For schema migrations: python manage.py schemamigration dcms --auto  # ! Remember to replace dcms with your project name.  

Chạy Django CMS


Để xem CMS Django của bạn đang hoạt động, bạn có thể sử dụng server thử nghiệm.

Chạy lệnh sau để chạy ứng dụng của bạn:

python manage.py runserver 0.0.0.0:8000 

Và ghé thăm:

  • Trang chủ Django CMS:

http: // [IP của server nước của bạn]: 8000 / en-us

  • Administrator Django CMS:

http: // [IP của server nước của bạn]: 8000 / en-us / admin

Sẵn sàng cho Sản xuất


Khi bạn hoàn tất việc tạo dự án Django CMS của bạn , bạn nên cố gắng tránh phụ thuộc vào server thử nghiệm mà ứng dụng đi kèm.

Để triển khai, phải sử dụng server ứng dụng web chính thức (ví dụ: Unicorn), tốt nhất là phía sau Reverse Proxy để xử lý quá trình xử lý ban đầu các yêu cầu và phân phối file tĩnh [chẳng hạn như hình ảnh].

Để có được ý tưởng tổng thể nhanh chóng về cách bắt đầu production , hãy xem tiêu đề phần “Sẵn sàng cho production ” trong bài viết của ta : Cách chuẩn bị server cloud Ubuntu cho ứng dụng web Python .

Tóm lược


Nếu bạn đã xem qua bài viết này hoặc nếu bạn chỉ muốn có một bản tóm tắt nhanh về hướng dẫn cài đặt để giúp bạn bắt đầu:

# Preare the system and install Python tools: aptitude    update aptitude -y upgrade aptitude install -y build-essential aptitude install -y cvs subversion git-core mercurial aptitude install python-setuptools python-dev python2.7-dev python-software-properties libpq-dev aptitude install libtiff4-dev libjpeg8-dev zlib1g-dev libfreetype6-dev liblcms2-dev libwebp-dev tcl8.5-dev tk8.5-dev curl https://bitbucket.org/pypa/setuptools/raw/bootstrap/ez_setup.py | python - curl https://raw.github.com/pypa/pip/master/contrib/get-pip.py | python - export PATH="/usr/local/bin:$PATH" pip install virtualenv  # Create a virtual environment: virtualenv django_env cd django_env     source bin/activate pip install git+git://github.com/divio/django-cms.git@develop#egg=django_cms pip install psycopg2 pip install pillow  # Create a Django CMS project: django-admin.py startproject dcms cd dcms 

<div class = "author"> Gửi bởi: <a
href = “https://twitter.com/ostezer”> Hệ điều hành Tezer </a> </div>


Tags:

Các tin liên quan

Cách thiết lập server cloud Ubuntu cho ứng dụng web Python
2014-02-25
Cách cài đặt và bắt đầu với CMS Mezzanine trên Django trên Ubuntu
2014-02-25
Làm thế nào để Dockerise và triển khai nhiều ứng dụng WordPress trên Ubuntu
2014-02-13
Cách cài đặt Ruby 2.1.0 và Sinatra trên Ubuntu 13 với RVM
2014-02-10
Cách tạo Sách dạy nấu ăn Đầu bếp Đơn giản để Quản lý Cơ sở hạ tầng trên Ubuntu
2014-02-03
Cách cài đặt MariaDB từ Binary Tarballs trên Ubuntu 13.10
2014-01-28
Cách thiết lập một cụm Serf trên một số VPS Ubuntu
2014-01-23
Cách cấu hình Cụm Galera với MariaDB trên server Ubuntu 12.04
2014-01-20
Cách cài đặt Neo4J trên VPS Ubuntu
2014-01-15
Cách sử dụng PM2 để thiết lập môi trường sản xuất Node.js trên VPS Ubuntu
2014-01-10