Hướng dẫn Django cho người mới bắt đầu (P2)

Tiếp nối với phần trước, sau khi thực hiện máy chủ phát triển chúng ta sẽ đến với việc tạo một app.

Tạo ứng dụng Polls:

Đầu tiên, bạn hãy vào thư mục mysite đã tạo rồi thực hiện khởi tạo ứng dụng polls

    cd mysite
    python manage.py startapp polls

Sau câu lệnh trên sẽ hiện ra thư mục như sau:

polls
    __init__.py
    admin.py
    apps.py
    migration/
        __init__.py
    models.py
    tests.py
    views.py
Bạn có thể sử dụng VS Code hoặc Pycharm đã cài đặt để mở các thư mục.

polls/view.py

Vào view.py và cài đặt đoạn mã sau:

    from django.url import path
    from . import views
    urlpatterns = [
        path('',views.index, name = 'index'),
    ]

polls/urls.py

Tiếp tục đến với urls, ta điền đoạn mã:

    from django.contrib import admin
    from django.urls import include, path

    urlpatterns = [
        path('polls/', include('polls.urls')),
        path('admin/', admin.site.urls),
    ]
Hàm include() ở đây dùng để cho phép tham chiếu các URLconfs khác. Include() khi bao gồm các mẫu URL khác.

Lúc này bạn đã kết nối một index vào URLconf, thực hiện chạy dòng lệnh để sau để xác minh rằng nó đang hoạt động bằng lệnh sau:

    python manage.py runserver

Tiếp đến vào settings.py tại INSTALLED_APPS thêm dòng:

    'polls'

Thực hiện lệnh trên xong, bạn hãy truy cập vào link sau http: //localhost:8000/polls/

Lưu ý: Nếu bạn gặp lỗi ở bước này thì hãy kiểm tra lại đường link của bạn và chắc rằng mình đang truy cập đúng vào đường link http: //localhost:8000/polls/

Khởi tạo cơ sở dữ liệu

Để khởi tạo cơ sở dữ liệu bạn cần thực hiện cài đặt và tạo dữ liệu trên các hệ quản trị cơ sở dữ liệu. Bạn có thể xem cài đặt postgreSQL tại đây

Tiếp đến ta chạy lệnh:

    python manage.py migrate

Lệnh migrate ở đây sẽ xem xét INSTALLED_APPS để tạo bất kỳ bảng cơ sở dữ liệu cần thiết theo cài đặt cơ sở dữ liệu trong mysite/settings.py

Tạo mô hình:

Các bạn vào phần polls/models sửa thành như sau:

    from django.db import models
    class Question(models.Model):
        question_text = models.CharField(max_length=200)
        pub_date = models.DateTimeField('date published')


    class Choice(models.Model):
        question = models.ForeignKey(Question, on_delete=models.CASCADE)
        choice_text = models.CharField(max_length=200)
        votes = models.IntegerField(default=0)

Ở đây các bạn có thể thấy, mỗi models được đại diện bởi một lớp con django.db.models.Model. Mỗi trường thì là được đại diện bởi Field.

Kích hoạt mô hình:

Trước tiên, hãy nhìn vào phần mysite/setting.py, để đưa ứng dụng vào một dự án Django thì cần có tham chiếu đến cấu hình của nó trong setting.py: PollsConfig và PollsConfig sẽ nằm trong polls/apps.py nên chúng ta sẽ có đường dẫn là: polls.apps.PollsConfig.

    INSTALLED_APPS = [
        'polls.apps.PollsConfig',
        'django.contrib.admin',
        'django.contrib.auth',
        'django.contrib.contenttypes',
        'django.contrib.sessions',
        'django.contrib.messages',
        'django.contrib.staticfiles',
    ]
Tới đây thì Django đã tồn tại polls app, tiếp theo đến với câu lệnh makemigrations:

    python manage.py makemigrations polls
Khi chạy xong câu lệnh trên bạn có thể thấy một số dòng như sau:
    Migrations for 'polls':
        polls/migrations/0001_initial.py
            - Create model Question
            - Create model Choice
Tiếp theo đó hay chạy lệnh sau để tạo các bảng trong cơ sở dữ liệu của bạn:
    python manage.py migrate

Lúc đó bạn sẽ thấy một số dòng dưới đây:

    Operations to perform:
        Apply all migrations: admin, auth, contenttypes, polls, sessions
    Running migrations:
        Rendering model states... DONE
        Applying polls.0001_initial... OK

Các bạn xem lại phần một tại: Hướng dẫn Django cho người mới bắt đầu

Nguồn: django tutorial

Công nghệ được nhắc đến trong bài viết này

Tên Công NghệPhiên BảnPhát Hành
Django---
4 phút đọc·786 lượt xem·2 years ago