Tạo website đơn giản với Django Framework startup trong một đêm

Ngày 09 tháng 11 năm 2017 | 1144 views

Tạo project website với django framework

Như ở Giới thiệu Framework Django, mình đã giới thiệu cách cài đặt django-framework và nó là gì, hôm nay mình xin giới thiệu tiếp cách tạo một site với django để chúng ta thấy startup với django trong một đêm như nào :D

1. Download/ Cài đặt gói Django Framework

pip install django==1.11.7


2. Download/ Cài đặt gói mysqlclient
Ở đây mình dùng mysql database, nên phải cài gói Mysqlclient

pip install mysqlclient==1.3.9

3. Step 1
Tạo project với django framework

django-admin startproject clpcoinvn


4. Step 2
Sau khi tạo 1 project clpcoinvn chúng ta sẽ thấy cây thư mục và các file của django framework tạo ra

clpcoinvn/
    manage.py
    clpcoinvn/
        __init__.py
        settings.py
        urls.py
        wsgi.py

5. Thực hiện cấu hình Database trong file settings.py

Ở ví dụ này chúng ta sử dụng MySQL database, thì chúng ta phải sử lại phần tham số DATABASE mặc định đang sử dụng sqlite3

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.sqlite3',
        'NAME': os.path.join(BASE_DIR, 'db.sqlite3'),
    }
}

MySQL

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.mysql',
        'NAME': 'clpcoin_db',
        'USER': 'root',
        'PASSWORD': ' ',
        'HOST': '',
        'PORT': '',
    }
}

6. Thực hiện tạo application và cấu hình application trong settings.py

Tại thư mục clpcoinvn chúng ta thấy file manage.py, chúng ta thực hiện chạy python script tại đây

python manage.py startapp clpcoin

Sau khi chạy xong startapp thì django-framework sẽ tạo ra một thư mục application gồm như sau

clpcoin/
    __init__.py
    admin.py
    apps.py
    migrations/
        __init__.py
    models.py
    tests.py
    views.p

7. Đồng bộ ứng dụng với database và tạo user administrator

Để đồng bộ dữ liệu với database đã được config trong settings.py chúng ta chạy câu lệnh migrate

python manage.py migrate

Khi đó hệ thống sẽ thực hiện tạo các bảng theo các model chuẩn

Operations to perform:
  Apply all migrations: admin, auth, contenttypes, sessions
Running migrations:
  Applying contenttypes.0001_initial... OK
  Applying auth.0001_initial... OK
  Applying admin.0001_initial... OK
  Applying admin.0002_logentry_remove_auto_add... OK
  Applying contenttypes.0002_remove_content_type_name... OK
  Applying auth.0002_alter_permission_name_max_length... OK
  Applying auth.0003_alter_user_email_max_length... OK
  Applying auth.0004_alter_user_username_opts... OK
  Applying auth.0005_alter_user_last_login_null... OK
  Applying auth.0006_require_contenttypes_0002... OK
  Applying auth.0007_alter_validators_add_error_messages... OK
  Applying auth.0008_alter_user_username_max_length... OK
  Applying sessions.0001_initial... OK

Sau khi các bảng được đồng bộ với database, chúng ta thực hiện tạo user quản trị cho trang admin: createsuperuser

python manage.py createusersuper

Hệ thống sẽ yêu cầu chúng ta nhập vào user, email, password

8. Thực hiện chạy ứng dụng

python manage.py runserver

Để chạy ứng dụng chúng ta dùng lệnh runserver, khi đó django-framework tự động mở port 8000.

Performing system checks...

System check identified no issues (0 silenced).
November 09, 2017 - 16:02:29
Django version 1.11.7, using settings 'clpcoinvn.settings'
Starting development server at http://127.0.0.1:8000/
Quit the server with CTRL-BREAK.

Chúng ta vào link http://127.0.0.1:8000 trên trình duyệt, và để dừng ứng dụng chúng ta sử dụng phím Ctrl + C

Vào trang administrator

Vậy là chúng ta đã khởi tạo xong một ứng dụng website với django framework, để thực hiện website có nội dung như nào thì chúng ta thực hiện code vào phần application đã được tạo ra ở các bước trước.

Giả sử, chúng ta cần tạo một page đơn giản giới thiệu website, mà không cần nội dung

Cấu hình ứng dụng trong settings.py

INSTALLED_APPS = [
    ...
    'clpcoin',

]

 

Tạo view home trong views.py

# -*- coding: utf-8 -*-
from __future__ import unicode_literals

from django.shortcuts import render

# Create your views here.

def home(request):
    return render(request, 'clpcoin/home.html', {})

 

Tạo file template home.html

Trang home.html sẽ hiển thị nội dung của site, chúng ta tạo thư mục trong application clpcoin\template\clpcoin, sau đó sẽ tạo file home.html trong đó có nội dung kinh điển: Hello World

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
 Hello World
</body>
</html>

 

Cấu hình file Urls của application: clpcoin

Tạo một file urls.py trong clpcoin với nội dung như sau

from django.conf.urls import url
from . import views

urlpatterns = [
    url(r'^$', views.home, name='home'),
]

Url sẽ được trỏ vào view home

Cấu hình Urls của site

Chúng ta sẽ trỏ vào 2 url: của admin và application clpcoin

from django.conf.urls import url, include
from django.contrib import admin

urlpatterns = [
    url(r'^admin/', admin.site.urls),
    url(r'^$', include('clpcoin.urls')),
]

Chúng ta thực hiện run ứng dụng và kết quả như như kinh điển

Yep, vậy là chúng ta tạo xong một site vô dùng đơn giản với django, có rất nhiều khái niệm các bạn có thể tìm hiệu tại trang djangoproject.com

Tạo lại bảng trong Django

Ngày 04 tháng 1 năm 2018

04-01-2018
175
Cài đặt Centos 7&VMware làm VPS ảo

Ngày 18 tháng 11 năm 2017

18-11-2017
235
Tạo sitemap trong django framework

Ngày 02 tháng 11 năm 2017

02-11-2017
295