2016-05-07 21 views
11

Tôi là một kỹ sư phần mềm cơ sở và khá mới mẻ đối với Django. Tôi đã xây dựng this app và đang làm việc trên README để giải thích cho người khác cách nĩa, sao chép và thiết lập ứng dụng trên máy của riêng họ. Tôi đã bị kẹt trong khi cố gắng tạo lại các bước.Làm thế nào để chạy dự án Django nhân bản?

Đây là thứ tự mà tôi đã vẽ lên những bậc thang:

  1. Fork và clone repo
  2. Nguồn một môi trường ảo
  3. Pip cài đặt requirements.txt
  4. Lấy access_token và secret_key và lưu trữ trong secrets.sh
  5. Thiết lập một DB Postgres, tạo người dùng & cơ sở dữ liệu
  6. Migra te (?) - Đây là nơi tôi gặp khó khăn!

Tôi đã thử di chuyển ứng dụng nhưng không có di chuyển nào để áp dụng.

Tôi đã thử 'django-admin startproject ig_miner_app. nhưng tôi nhận được mã lỗi này:

"CommandError: /Users/Erin/Desktop/CodeByEAllard/project/instagram_miner/manage.py đã tồn tại, bao phủ một dự án hoặc ứng dụng vào một thư mục hiện tại sẽ không thay thế các file mâu thuẫn"

Nếu tôi có thể sắp xếp xong, tôi chỉ có thể chạy máy chủ như bình thường, phải không?

Tôi chắc rằng tôi thiếu một số thứ (hoặc nhiều thứ) nhưng không biết chúng là gì. Tôi cảm thấy ngớ ngẩn vì rõ ràng là tôi có thể tạo ra ứng dụng ngay từ đầu, nhưng không thể tìm ra cách giải thích cho người khác làm như vậy! Có bất kỳ đề xuất nào về cách để máy chủ chạy?

Cảm ơn bạn!

+2

Tại sao bạn chạy 'startproject'? Bạn đã có một dự án! Bạn đang gặp lỗi gì khi chạy 'manage.py migrate'? – kaveh

+0

Tôi chỉ chạy 'startproject 'vì tôi không thể nghĩ ra bất cứ điều gì khác để thử. Đây là lỗi tôi nhận được khi tôi chạy 'python manage.py di chuyển': Traceback (cuộc gọi gần đây nhất cuối cùng): Tệp "manage.py", dòng 8, trong từ django.core.management import execute_from_command_line ImportError: Không có mô-đun có tên django.core.management – allardbrain

+0

Bạn đã kích hoạt môi trường ảo của mình chưa? – kaveh

Trả lời

11

Trước hết, bạn đang nhận được rằng lỗi bởi vì bạn đang bắt đầu một dự án trong cùng thư mục với các dự án nhân bản, thư mục này đã có chứa một ứng dụng có tên ig_miner_app do đó xung đột tên.

Liên quan đến các bước để chạy dự án của người dùng khác, điều này sẽ hoạt động.

bản sao dự án

git clone https://github.com/erinallard/instagram_miner.git 

tạo và bắt đầu aa môi trường ảo

virtualenv env --no-site-packages 

source env/bin/activate 

Cài đặt phụ thuộc dự án:

pip install -r requirements.txt 

tạo một file có tên "secrets.sh"

touch secrets.sh (mac và linux)

lấy bí mật từ khóa MiniWebTool và thêm vào bí mật.sh

export SECRET_KEY='<secret_key>' 

add secrets.sh để .gitignore tập tin

tạo postgres db và thêm các chứng chỉ để settings.py

DATABASES = { 
    'default': { 
     'ENGINE': 'django.db.backends.postgresql_psycopg2', 
     'NAME': 'db_name', 
     'USER': 'name', 
     'PASSWORD': '', 
     'HOST': 'localhost', 
     'PORT': '', 
    } 
} 

sau đó chạy

python manage.py migrate 

tạo quản trị tài khoản

python manage.py createsuperuser 

sau đó

python manage.py makemigrations ig_miner_app 

để makemigrations cho ứng dụng

sau đó một lần nữa chạy

python manage.py migrate 

để bắt đầu máy chủ phát triển

python manage.py runserver 

và localhost mở: 8000 về bạn trình duyệt để vie w ứng dụng.

Tôi tin rằng điều này sẽ giúp ứng dụng chạy và chạy trên các máy của người khác. Hãy cho tôi biết nếu bạn gặp khó khăn về bất kỳ bước nào trong số các bước này để tôi thực hiện chỉnh sửa, nếu không, bạn chỉ có thể sử dụng và thêm bất kỳ thông tin liên quan nào khác mà tôi có thể chưa thêm.

+0

Cảm ơn Bernard! Tôi chưa bao giờ tạo ra một siêu người dùng! Tôi sẽ cố gắng sửa chữa ngay bây giờ và cho bạn biết làm thế nào nó đi. :-) – allardbrain

+0

CẢM ƠN, Bernard! Nó đã làm việc! Tôi rất biết ơn sự giúp đỡ chi tiết của bạn. – allardbrain

+0

Tuyệt vời. Bất cứ lúc nào!!! –

0

cố gắng để vượt qua các tên ứng dụng vào migrate lệnh:

manage.py migrate ig_miner_app 
+0

Đây là thông báo lỗi tôi nhận được khi tôi cố gắng làm điều đó: Traceback (cuộc gọi gần đây nhất cuối cùng): Tệp "manage.py", dòng 8, trong từ django.core.management import execute_from_command_line ImportError: Không có mô-đun tên là django.core.management – allardbrain

0

Như bạn nói, một khi bạn sao chép các repo, bạn phải cài đặt các yêu cầu

pip install -r requirements.txt 

Sau đó bạn phải cấu hình cơ sở dữ liệu. Thêm chi tiết vào settings.py

Khi nó đã được thực hiện và bạn có chìa khóa và bí mật, bạn phải di chuyển và sau đó di chuyển.

cd vào thư mục ứng dụng và chạy

python manage.py makemigrations 

để tạo ra file chuyển cho các mô hình đã được xác định trong các mã bạn đã nhân bản vô tính. sau đó bạn phải chạy

python manage.py migrate 

để áp dụng di chuyển có hiệu lực tạo bảng cơ sở dữ liệu.

Bây giờ bạn thực hiện bất kỳ thay đổi nào về mô hình hoặc thêm mô hình hoặc trường bổ sung, bạn phải chạy lại hai lệnh cuối cùng.

1

Hey @allardbrain và chào mừng đến với thế giới tuyệt vời của phát triển^_^

Trong khi hy vọng của tôi được rằng vấn đề này đã được giải quyết bởi bây giờ, nếu tôi có thể, chúng ta hãy xem lại một cái gì đó thực quick-- Tôi chắc chắn những người khác đã thực hiện và, hiện đang mắc lỗi này.

I tried 'django-admin startproject ig_miner_app . but am getting this error code:

"CommandError:" yadda yadda yadda ...

Django thực sự có tài liệu AMAZING.Những kẻ đứng đằng sau nó thực sự là Nhà văn và Nhà báo và không phải là những người CS điển hình của bạn.

Điều tôi đang cố gắng nói là, khi học một cái gì đó mới, hãy đọc Tài liệu; chạy qua Hướng dẫn ứng dụng cần làm. Đây là lý do tại sao ..

django-admin startproject 

Điều này đã được hài lòng nếu bạn đang lấy bản sao làm việc của một Đơn đăng ký trước. mối quan tâm của bạn nên được với tập tin này đầu tiên và quan trọng nhất ...

requirements.txt 

Đây là nơi devDependencies nêu nhu cầu của họ, nếu bạn sẽ, tương tự như cơ bản

package.json 

của bạn Dù sao, tôi chỉ nói điều này bởi vì tôi đã dành vài năm đầu tiên trong sự nghiệp của tôi cứng đầu và thường bắt mình lướt qua tài liệu và, vào cuối ngày tạo ra đau đầu cho bản thân mình và những kẻ khốn khổ được giao nhiệm vụ giám sát ass của tôi :-) Thời gian tuyệt vời, những người. ..

Chúc mừng mọi người e

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