2011-02-06 16 views
8

Tôi muốn bắt đầu sử dụng Django với MYSQL, thay vì sqlite tất cả các thời gian, tuy nhiên kinh nghiệm duy nhất của tôi bằng cách sử dụng MSQL là thông qua XAMPP, thao tác cơ sở dữ liệu thông qua phpmyadmin. Tôi thực sự muốn giữ tương tác gui này với mysql và không phải làm mọi thứ thông qua dòng lệnh.django, phpmyadmin và mysql?

Bạn có thể bắt đầu và quản lý cơ sở dữ liệu MYSQL bằng xampp/phpmyadmin và sau đó sử dụng django cho phía phát triển web chỉ bằng máy chủ phát triển Django'sn? Hoặc bạn có phải luôn luôn bắt đầu cơ sở dữ liệu mới thông qua dòng lệnh, và nếu như vậy làm thế nào nó được thực hiện, mang trong tâm trí tôi chỉ bao giờ sử dụng mysql thông qua xampp/phpmyadmin?

Tôi biết cách liên kết và quản lý cơ sở dữ liệu thông qua django, tôi chỉ không biết cách bắt đầu một mysql thông qua nó, và tôi không thực sự muốn xóa mysql gui đi kèm với xampp/phpmyadmin. tất cả sự giúp đỡ được đánh giá cao.

Trả lời

10

Bạn chắc chắn có thể quản lý Mysql thông qua giao diện XAMPP. Hãy thử thiết lập DB_HOST trong settings.py thành "localhost". Nếu nó không hoạt động, hãy thử "127.0.0.1". Điều này thường được gây ra bởi mô-đun python-mysql mong đợi các ổ cắm mysql unix được ở một nơi khác hơn là nó. Trên thực tế, tôi không chắc chắn nếu máy chủ mysql sử dụng một ổ cắm unix trên Windows. Dù sao, một trong cả hai nên làm việc :) Bạn có thể sử dụng các thông tin bạn sử dụng để đăng nhập với phpmyAdmin cũng cho Django. Nhiều người cho rằng đó là kiểu xấu để sử dụng root cho các nhiệm vụ không quản trị (và tôi đồng ý), nhưng đối với người mới bắt đầu và trên máy phát triển của bạn, nó không quá lớn. phpMyAdmin nên làm việc ra khỏi hộp với cơ sở dữ liệu được quản lý django của bạn.

cơ sở dữ liệu của tôi settings.py khối cho mysql trông giống như sau:

DATABASES = { 
    'default': { 
     'ENGINE': 'django.db.backends.mysql', # Add 'postgresql_psycopg2', 'postgresql', 'mysql', 'sqlite3' or 'oracle'. 
     'NAME': 'DBNAME',      # Or path to database file if using sqlite3. 
     'USER': 'USER',      # Not used with sqlite3. 
     'PASSWORD': 'PASSWORD',     # Not used with sqlite3. 
     'HOST': '',      # Set to empty string for localhost. Not used with sqlite3. 
     'PORT': '',      # Set to empty string for default. Not used with sqlite3. 
    } 
} 

này là dành cho django 1.2 trở lên. Thay thế DBNAME, USER và PASSWORD bằng các giá trị tương ứng và thử '127.0.0.1' làm HOST nếu bạn gặp sự cố. Rõ ràng, bạn cần chạy 'manage.py syncdb' như bạn đã làm với sqlite trước khi bạn có thể sử dụng nó.

+0

cảm ơn rất nhiều – Stu

+0

Bạn được chào đón. –

+0

Tôi muốn làm điều tương tự nhưng gặp sự cố ... - Bạn đã cài đặt mysqlclient hoặc MySQL-python chưa? Đây là lỗi tôi đã gặp phải. Bây giờ, sau khi cấu hình cơ sở dữ liệu, nếu tôi chạy máy chủ, tôi phải đối mặt với điều đó, mặc dù tôi có php myadmin đang chạy. https://imgur.com/9UeQzfT Bây giờ, tôi cũng đã cố gắng thực hiện 'manage.py syncdb'.Nó trả về cùng một vấn đề- https://imgur.com/WpuKv1X FYI, tôi đang sử dụng mac và xampp. Bất kỳ may mắn cho tôi @ kevinRead? – tisuchi

1

Bạn có thể dễ dàng quản lý cơ sở dữ liệu của mình bằng phpMyAdmin. Tất cả những gì Django cần là sự cho phép và truy cập thông tin cho cơ sở dữ liệu của bạn. Một khi chúng được thiết lập (cấp quyền trong phpMyAdmin và thêm thông tin truy cập trong settings.py của Django), bạn sẽ phát hành một ví dụ manage.py syncdb và bạn đã hoàn tất.

+0

cảm ơn rất nhiều – Stu

3

Tôi rất muốn khuyên bạn nên kiểm tra postgresql! Nó đi kèm với Trình duyệt cơ sở dữ liệu giống như Sqlserver-Management-System-chạy trên máy tính của bạn, chứ không phải là giao diện người dùng dựa trên web. Bây giờ bạn không cần phải lo lắng về việc cấu hình PHP cùng với Django. Postgresql có thể sẽ khó cài đặt hơn MySql trên XAMPP, nhưng tôi tin rằng bạn có thể nhận được rất nhiều từ làm như vậy.

Postgresql cũng tốt hơn rất nhiều (IMO) so với MySQL và là cơ sở dữ liệu được đề xuất để sử dụng với Django theo rất nhiều người ở gần Django.

Điều đó nói rằng, tôi hiện đang sử dụng Oracle, vì vậy có thể bạn không nên nghe tôi. :)

+0

Tôi thứ hai, nhìn vào các lựa chọn thay thế MySQl thường là một ý tưởng hay. MySQL là phổ biến và khá nhanh, nhưng điều đó không có nghĩa là nó tốt trong mọi khía cạnh. Khám phá các DBMS khác cung cấp thêm thông tin chi tiết về các ưu và nhược điểm của MySQL, và bạn sẽ biết khi nào nên chọn DBMS nào. –

+0

Cảm ơn, vì lý do nào đó tôi không nghĩ đến việc sử dụng postgresql với django mặc dù Ive đã sử dụng nó trước đây với geodjango cho dữ liệu không gian. Tôi đoán tôi quá thoải mái với phpmyadmin vì tôi sử dụng nó thường xuyên nhưng đây là một giải pháp tốt, và kể từ khi nó được đề nghị bệnh cố gắng sử dụng nó một thời gian. cổ vũ. – Stu