Có rất nhiều câu trả lời ở đó hoạt động với phiên bản cũ của Django, nhưng Django liên tục cập nhật và trong nghiên cứu của tôi, tôi không tìm thấy câu trả lời khả thi cho Django 1.8/1.9, vì vậy tôi phải tự cuộn. Đây là cách bạn làm điều đó: Cơ cấu
dự án:
├── data
│ ├── __init__.py
│ ├── migrations
│ │ └── __init__.py
│ └── models.py
├── main.py
├── manage.py
└── settings.py
Các data
thư mục và di chuyển thư mục chứa trống __init__.py
tập tin. Tệp mẫu models.py
đọc như sau:
from django.db import models
class User(models.Model):
name = models.CharField(max_length=255)
email = models.EmailField(max_length=255)
file manage.py
là điển hình Django manage.py
tập tin. Chỉ cần chắc chắn để thay đổi các thiết lập param trong os.environ.setdefault
nếu bạn sao chép nó từ một lệnh tươi django-admin startproject
:
#!/usr/bin/env python
import os
import sys
if __name__ == "__main__":
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "settings")
from django.core.management import execute_from_command_line
execute_from_command_line(sys.argv)
File settings.py
đòi hỏi 3 thiết lập: CƠ SỞ DỮ LIỆU, INSTALLED_APPS, và SECRET_KEY. Tham khảo tài liệu Django cho DBS mà không phải là SQLite:
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.sqlite3',
'NAME': 'sqlite.db',
}
}
INSTALLED_APPS = (
'data',
)
SECRET_KEY = 'REPLACE_ME'
Bí quyết thực sự là trong main.py
, đó sẽ là nơi bạn có thể mã hóa chống lại mô hình của bạn. Rõ ràng bạn phải sử dụng wsgi
để có được những điều làm việc với hai dòng sau:
from django.core.wsgi import get_wsgi_application
application = get_wsgi_application()
Dưới đây là một main.py mẫu:
# Django specific settings
import os
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "settings")
### Have to do this for it to work in 1.9.x!
from django.core.wsgi import get_wsgi_application
application = get_wsgi_application()
#############
# Your application specific imports
from data.models import *
#Add user
user = User(name="someone", email="[email protected]")
user.save()
# Application logic
first_user = User.objects.all()[0]
print(first_user.name)
print(first_user.email)
This project cùng với this post là điểm khởi đầu hữu ích cho tôi để tìm câu trả lời , và yêu cầu kéo của tôi với mã làm việc cho Django 1.9 đã được sáp nhập, vì vậy bạn có thể lấy mã từ repo masnun của bây giờ. Nếu bạn biết cách tốt hơn, vui lòng gửi yêu cầu kéo.
Bản sao có thể có của [Sử dụng Django ORM dưới dạng độc lập] (http://stackoverflow.com/questions/937742/use-django-orm-as-standalone) – user1797792
Đồng ý, Câu hỏi trùng lặp với "use-django-orm-as - "độc lập" và "Chỉ sử dụng một số phần của Django?"và" sử dụng-chỉ-the-db-part-of-django "nhưng câu trả lời dành cho các phiên bản cũ của django, nếu tôi đóng câu hỏi này, Sẽ mất nhiều thời gian để ai đó viết câu trả lời cho phiên bản mới nhất và đưa nó đến câu trả lời đầu hoặc câu trả lời thứ nhất –
Bản sao có thể có của [Sử dụng django cho công cụ CLI] (http://stackoverflow.com/questions/32088702/using-django-for-cli-tool) – e4c5