THẢO LUẬN

thg 12 13, 2024 2:53 SA

Hy vọng rằng bạn có thể mở rộng thêm các trường hợp sử dụng cụ thể của RAG trong các ngành nghề khách ví dụ như y tế, giáo dục....

0
thg 12 12, 2024 10:35 CH

Giới thiệu về Django và Khởi tạo Dự án

Về Django
Django là một framework web cấp cao được viết bằng Python. Nó nhanh, đơn giản và tuân theo nguyên tắc DRY (Don’t Repeat Yourself), giúp nhà phát triển làm việc hiệu quả hơn. Django hỗ trợ ORM (Object-Relational Mapping) và sử dụng mô hình thiết kế MTV (Model-Template-View) thay vì MVC (Model-View-Controller).

  • Model: Đại diện cho cấu trúc cơ sở dữ liệu.
  • Template: Chứa HTML và Ngôn ngữ Mẫu của Django (DTL).
  • View: Hành động như một bộ điều khiển xử lý yêu cầu và phản hồi.

Cài đặt Môi trường

Để bắt đầu, bạn cần cài đặt Python và Pip. Nếu bạn sử dụng Ubuntu 24.04, hãy tham khảo hướng dẫn chi tiết này: cài đặt pip trên Ubuntu 18.04.

  1. Cài đặt Python và Pip (sử dụng Python 3.7 trở lên).
  2. Tạo môi trường ảo với pipenv:
    $ mkdir GreatKart && cd GreatKart
    $ pipenv install Django
    $ pipenv shell
    
  3. Khởi tạo dự án Django:
    $ django-admin startproject greatkart .
    $ python3 manage.py migrate
    $ python3 manage.py runserver
    
    Truy cập http://127.0.0.1:8000 để xem trang mặc định của Django.

Cấu hình Cơ sở Dữ liệu

Cơ sở dữ liệu mặc định là SQLite3, nhưng bạn có thể chuyển sang MySQL.

  1. Cài đặt MySQL và mysqlclient cho Python:
    $ pip3 install mysqlclient
    
  2. Cập nhật DATABASES trong settings.py:
    DATABASES = {
        'default': {
            'ENGINE': 'django.db.backends.mysql',
            'NAME': 'GreatKart',
            'USER': 'root',
            'PASSWORD': '12345678',
            'HOST': 'localhost',
            'PORT': '3306',
        }
    }
    
  3. Sử dụng django-environ để quản lý biến môi trường. Thêm file .env chứa thông tin nhạy cảm như mật khẩu cơ sở dữ liệu và cập nhật settings.py để đọc từ đó.

Sử dụng Docker

Bạn có thể đóng gói ứng dụng bằng Docker.

  1. Tạo file Dockerfile:

    FROM python:3.7
    ENV PYTHONDONTWRITEBYTECODE 1
    ENV PYTHONUNBUFFERED 1
    WORKDIR /code
    COPY Pipfile Pipfile.lock requirements.txt /code/
    RUN pip3 install pipenv && pipenv install --system && pip3 install -r requirements.txt
    COPY . /code/
    
  2. Tạo file docker-compose.yml:

    version: '3'
    services:
        web:
            build: .
            command: python3 /code/manage.py runserver 0.0.0.0:8000
            ports:
                - "8000:8000"
            depends_on:
                - db
            env_file:
                - .env
        db:
            image: mysql:8.0.20
            environment:
                MYSQL_DATABASE: GreatKart
                MYSQL_USER: root
                MYSQL_PASSWORD: 12345678
                MYSQL_ROOT_PASSWORD: 12345678
            ports:
                - "3305:3306"
            volumes:
                - ".dbdata:/var/lib/mysql"
    
  3. Chạy các lệnh Docker:

    $ docker-compose build
    $ docker-compose up
    $ docker-compose exec web python3 manage.py migrate
    

    Đảm bảo ứng dụng hoạt động tại http://127.0.0.1:8000.


Cấu hình Tệp Tĩnh và Media

  1. Cấu hình tệp tĩnh (settings.py):

    STATIC_URL = '/static/'
    STATIC_ROOT = BASE_DIR / 'static'
    STATICFILES_DIRS = ['greatkart/static']
    

    Chạy:

    $ python3 manage.py collectstatic
    
  2. Cấu hình Tệp Media:

    MEDIA_URL = '/media/'
    MEDIA_ROOT = BASE_DIR / 'media'
    

Mô hình Người dùng Tùy chỉnh và Mô hình Cơ bản

  1. Tùy chỉnh Mô hình Người dùng
    Tạo ứng dụng mới accounts và định nghĩa mô hình người dùng tùy chỉnh bằng cách mở rộng AbstractBaseUser.

  2. Mô hình Danh mục và Sản phẩm
    Định nghĩa danh mục và sản phẩm với các mối quan hệ hỗ trợ chức năng thương mại điện tử.


Đây là Phần 1 của việc xây dựng ứng dụng thương mại điện tử với Django, bao gồm thiết lập dự án, tích hợp cơ sở dữ liệu, cấu hình Docker, và xử lý tệp tĩnh cũng như media. Để cài đặt Python trên môi trường Ubuntu 24.04, tham khảo hướng dẫn: Cách cài đặt Python và Pip trên Ubuntu 24.04.

0

@darkness5499 chúc e thành công và nhiều may mắn, 🥰

0

@maitrungduc1410 e cảm ơn chia sẻ của anh ạ, hẹn anh 1 ngày không xa ở Singapore ạ

0

về việc học lên, thì a thấy nếu e sang sing thì bằng thạc sĩ ko có giá trị lắm, bên này người ta học thì học lên luôn PhD.

Cơ mà e đang làm engineering mà e đổi sang đi học lên thì thường là theo hướng research a thấy nó ko chắc có giá trị lắm cho profile của e đâu.

A thấy con đường "học để sang đc nước ngoài, ở đó và tìm việc" thường áp dụng cho mấy nước kiểu Mỹ các thứ. Chứ bên sing này a thấy họ ko care bằng cấp thạc sĩ/tiến sĩ lắm đâu nếu e làm engineering frontend, backend. Bên này e ưu tiên kinh nghiệm làm việc nhiều hơn e ạ

0

a thấy dev Việt mình về trình độ ko kém gì nước ngoài luôn, kể cả Sing, chỉ là tiếng Anh kém thôi.

Các ngôn ngữ backend phổ biến thì a thấy có Java (Spring), Go. 2 cái này bên Sing rất được chuộng

0

Em tốt nghiệp và đi làm 4 năm Java backend rồi Anh cho em hỏi trình độ lập trình viên ở Singapore có sự chênh lệch nhiều so với Việt Nam không anh, và so về mặt ngôn ngữ thì ngôn ngữ nào đang có lợi thế về mặt tuyển dụng ở Singapore ạ Em đang tính nếu không xin được job thì em sẽ đăng ký 1 khoá học, hoặc học lên thạc sĩ bên đấy để có cơ hội làm việc 1 thời gian sau khi học xong anh nghĩ sao về vấn đề này ạ Mong anh giải đáp ạ

0

@longtth à à = ))) bạnn viết thế thì ai hiểu được, phải trích dẫn hoặc mô tả vấn đề đang trả lời vào reply chứ = ))

+1
thg 12 12, 2024 6:33 SA

Anh An 10đ

0

bài viết này chuẩn không bác, e cấu hình cả .well-known/apple-app-site-association mà vẫn không được nhỉ

0
thg 12 12, 2024 5:26 SA

bài hay, dễ hiểu, cảm ơn bạn

0
thg 12 12, 2024 4:25 SA

Tưởng bạn chia sẻ kinh nghiệm push app nhỏ mà dc PASS chứ, bị reject là chuyenj bthuong mà. Apple giờ nó review gắt hơn nữa. Những app nhỏ quá hoặc tính năng căn bản nó cũng ko cho pass. App mình làm cũng tầm 6-7 screens, tính năng thì cũng có copy các app có sẵn + enhencement thêm 1 số thứ, nhưng khi review nó vẫn đánh giá app mình giống các app có sẵn, ko có gì đặc biệt, nó reject luôn. Haizz, không biết cãi sao luôn.

0

Bạn ơi cho mình hỏi cái chỗ này ý nghĩa là gì vậy: entities: ['dist/models/**/.entity{.ts,.js}'], /.entity{.ts,.js} ý nghĩa là gì. cái file .entity là ở đâu vậy

0

Hay qúa

0

Rảnh rỗi ôn lại tý kiến thức thôi sếp ah 😅

0

có thiếu bước kết nói với elastic không bác. sao e làm y hệt mà không được

0
thg 12 10, 2024 4:36 SA

không sao nhé, theo mình sử dụng thì nó còn tiện lợi ấy, bạn có thể lên đây để tìm các phiên bản phù hợp https://hub.docker.com/_/mysql/tags. Nếu bạn vẫn lo sợ dữ liệu bị mất đi thì bạn có thể tham khảo thêm việc dùng docker volume nhé.

0
thg 12 10, 2024 3:55 SA

xịn quá bro 😄

+1
thg 12 10, 2024 3:18 SA

Nếu mình sử dụng Docker thay thế mysql chạy trên local mà thực hành học tập được không bạn, mỗi lần chạy mình start container lên và connect , các cơ sở dữ liệu mình chạy trên container đó có bị mất đi mỗi lần chạy lại không

0

Hay quá. Cảm ơn anh đã dịch lại bài này ạ

0
Viblo
Hãy đăng ký một tài khoản Viblo để nhận được nhiều bài viết thú vị hơn.
Đăng kí