2012-04-14 43 views
37

Tôi đang học python và Django đến từ PHP. Đây là tất cả thực sự thú vị, và tôi rất thích sử dụng Bootstrap với Django để tạo ra các trang web gợi cảm.Làm cách nào để sử dụng Bootstrap với Django?

Như tôi đã hiểu (tôi đang theo hướng dẫn Django trên trang web của họ), Django sử dụng "ứng dụng" có thể được đưa vào tệp settings.py của bạn. Tôi đã tìm kiếm nhanh và tìm thấy một số ứng dụng theo chủ đề bootstrap nhưng không có kiến ​​thức về cách chọn đúng ứng dụng. Có ứng dụng chuẩn nào mà hầu hết mọi người sử dụng không? Tất cả những gì tôi cần là các tệp bootstrap.cssbootstrap.js.

Tôi chắc chắn tôi có thể đặt chúng theo cách thủ công trong thư mục gốc của tôi, nhưng tôi muốn tận hưởng cài đặt "bao gồm tất cả" trong cài đặt Django của mình.

+0

Có vẻ như @urbushey đã làm một công việc tốt đẹp để giải thích các khái niệm cơ bản về cách tiếp cận trực tiếp mà không cần bất kỳ ứng dụng Django nào. Nếu bạn muốn thêm một số ý tưởng về ứng dụng, lưu ý rằng có một câu hỏi từ năm 2012 đã bị "đóng cửa" một năm sau đó vì nằm ngoài phạm vi cho stackoverflow. Nhưng nó có một số thông tin chi tiết thú vị từ lúc đó: http://stackoverflow.com/questions/11821116/django-and-bootstrap-what-app-is-recommended – nealmcb

Trả lời

50

Đọc lại câu hỏi của bạn, có vẻ như bạn đang tìm kiếm cách cài đặt Twitter Bootstrap làm ứng dụng Django. Trong khi có một số ứng dụng ra có mà tạo điều kiện sử dụng Twitter Bootstrap với Django, bạn không thực sự cần phải sử dụng bất kỳ của họ.

Bạn chỉ cần bao gồm CSS Bootstrap CSS và JS ở cấp dự án hoặc ứng dụng và tham khảo chúng trong các mẫu Django của bạn.

Để bao gồm Twitter Bootstrap trong một ứng dụng Django, đặt cược tốt nhất của bạn là:

  1. Sử dụng tĩnh tập tin

    Trong settings.py của bạn, thêm đường dẫn đến Bootstrap (mà bạn nên tải về và đặt trong ứng dụng Django của bạn dưới một thư mục có tên static:

    STATICFILES_DIRS = (
    
        # Put strings here, like "/home/html/static" or "C:/www/django/static". 
        # Always use forward slashes, even on Windows. 
        # Don't forget to use absolute paths, not relative paths. 
        '/path/to/my_project/my_app/static/', 
    ) 
    

    Ngoài ra, hãy chắc chắn bạn STATIC_URL tiền tố được thiết lập:

    # URL prefix for static files. 
    # Example: "http://media.lawrence.com/static/" 
    STATIC_URL = '/static/' 
    

    Bây giờ, tải Twitter Bootstrap và đặt nó trong đường dẫn đó:

    /path/to/my_project/my_app/static/bootstrap/ 
    
  2. Bao gồm Twitter Bootstrap trong các mẫu của bạn

    tôi sẽ liên kết đến Twitter Tài liệu Bootstrap, nhưng thực sự không có. Đặt cược tốt nhất của bạn là xem xét nguồn của starter template của chúng.Sử dụng hệ thống templating Django là một chút vượt quá phạm vi của câu hỏi này, nhưng tôi sẽ cung cấp cho bạn gợi ý này: Bất cứ nơi nào trong mẫu starter nơi bạn tìm thấy một liên kết đến một .css hoặc .js, thay thế nó bằng STATIC_URL của bạn.

    Vì vậy:

    <link href="../assets/css/bootstrap.css" rel="stylesheet"> 
    

    trở thành

    <link href="{{ STATIC_URL }}/bootstrap/css/bootstrap.css" rel="stylesheet"> 
    

    tôi sử dụng mẫu bắt đầu như base.html của tôi và bao gồm {% block content %} khối trong base.html có thể được thay thế bằng nội dung thực tế trong các mẫu của tôi, mà {% extend base.html %}.

  3. Hoặc, sử dụng một ứng dụng bên thứ 3 để hướng dẫn bạn

    Bạn có thể điều tra là Django Bootstrap Toolkit, mà tôi đã không được sử dụng bản thân mình. Tuy nhiên, tôi khuyên bạn nên tự mình thực hiện nó theo cách thủ công trước tiên, như một cách để khám phá dự án và thực sự hiểu những gì đang diễn ra. Nó không quá khó!

+7

Đây là câu trả lời đúng, nhưng đã 4 tuổi. Như của Django 1,10, ít nhất, bạn nên sử dụng {% load static%} ở đầu mẫu và "{% static" path/to/whatever '%} ". Xem https://docs.djangoproject.com/en/1.10/ref/templates/builtins/#static. Bạn không cần 'static_url' hoặc 'staticfiles' nữa. –

+0

Ngoài ra, hãy xem https://tutorial.djangogirls.org/en/css/ - toàn bộ hướng dẫn Django này thực sự dễ theo dõi, và trang này bao gồm tích hợp Bootstrap. – DaveBoltman

+0

Chỉ cần cập nhật với phương pháp 2, phiên bản 4 của url Bootstrap.https: //getbootstrap.com/docs/4.0/getting-started/introduction/. Cách dễ dàng để chỉ sao chép và dán url được lưu trữ của họ để thiết lập nhanh. –

4

Chào mừng bạn đến với thế giới của Python/Django. Giống như bạn, sau nhiều năm phát triển web bằng PHP, tôi đã di chuyển để tạo các trang web động và các ứng dụng web mạnh mẽ bằng cặp ngôn ngữ/khung này.

Một trong những tính năng thực sự thú vị của django là giao diện quản trị tự động của họ. Tôi sử dụng một ứng dụng được gọi là Django-Admin-Tools và django-admintools-bootstrap để biến giao diện mặc định thành một quản trị viên trông bóng bẩy. https://bitbucket.org/salvator/django-admintools-bootstrap

Cách dễ nhất để cài đặt ứng dụng django hoặc các mô-đun python khác là sử dụng pip. Tôi sẽ đọc trên bằng cách sử dụng virtualenv http://readthedocs.org/projects/virtualenv/ để quản lý các dự án django của bạn. Khi bạn thiết lập môi trường ảo python, nó cho phép bạn cài đặt các ứng dụng django và các mô-đun python trong một trình cài đặt python riêng biệt trên hệ thống của bạn.

Sau đó, cài đặt ứng dụng django bổ sung là một cách dễ dàng - cài đặt pip django-admin-tools - django grappelli - nam - là tất cả một số mục yêu thích của tôi.

+1

@MaxMackie cũng xem http://lincolnloop.com/django -best-practices/Good resource :) –

1

gì nếu bạn chỉ cần cài đặt twitter-bootstrap sử dụng pip:

làm theo hướng dẫn:

https://pypi.python.org/pypi/django-twitter-bootstrap/

cho cấu hình đơn giản.

+1

Điều này dường như không phải là câu trả lời hoàn chỉnh, mặc dù mẹo hữu ích. Tôi nghĩ anh ấy chủ yếu tìm kiếm "ứng dụng theo chủ đề chuẩn" mà hầu hết mọi người đều sử dụng. – Will

+0

vui lòng đọc: http://stackoverflow.com/help/how-to-answer –

+0

Ngoài ra, gói đó dường như đã bị hủy. Có một vài người khác tìm cách có hoạt động gần đây hơn trên github. Chúng là: https://github.com/dyve/django-bootstrap3 (cài đặt với 'pip install django-bootstrap3') https://github.com/zostera/django-bootstrap4 (cài đặt với 'pip install django -bootstrap4') – hlongmore

Các vấn đề liên quan