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
- Django
- Django CMS
2. Bắt đầu: Chuẩn bị Ubuntu Server
3. Cài đặt Django CMS version 3 Beta 3
- Môi trường ảo Python cho CMS Django
- Django CMS và phụ thuộc
- Nâng cấp lên version 3 từ version 2
4. Cấu hình Django CMS 3
- Tạo một dự án mới
- Cấu hình
settings.py
- Cấu hình
urls.py
- Cấu hình mẫu
- Database và di chuyển
- 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>
Các tin liên quan
Cách thiết lập server cloud Ubuntu cho ứng dụng web Python2014-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