Hướng dẫn how do you call a python script in django? - làm thế nào để bạn gọi một tập lệnh python trong django?
Đôi khi bạn có thể cần thực hiện một tập lệnh Python trong shell hoặc dự án django. Có nhiều cách để làm điều này. Trong bài viết này, chúng tôi sẽ xem xét các cách khác nhau để chạy kịch bản Python trong Django. Điều này rất hữu ích nếu bạn cần chạy các tập lệnh Python cho các tác vụ nền trong dự án Django của bạn. Trong nhiều trường hợp, các nhà phát triển web sử dụng phương pháp này để thực hiện tập lệnh Python trong shell django và điều hành nó dưới dạng công việc để gửi tin nhắn và email tự động cho người dùng của họ. Show Dưới đây là những cách khác nhau để chạy kịch bản Python, giả sử, Test.py trong dự án Django. Hầu hết các lệnh sau đây đều sử dụng. Nếu chúng không làm việc cho bạn, thì hãy thử các lệnh tương tự với Sud Sudo Python ./manage.py. Điều này có thể xảy ra vì biến đường dẫn Python trong hệ thống Linux của bạn không được đặt. 1. Sử dụng vỏĐiều hướng đến thư mục gốc của dự án Django của bạn có chứa tệp Management.py và chạy tập lệnh Python bằng lệnh sau. Chúng tôi đã giả định rằng Manage.py và Test.py nằm trong cùng các thư mục.
Nếu tập lệnh Python của bạn nằm trong một thư mục khác, bạn cần cung cấp đường dẫn đầy đủ đến tập lệnh Python của bạn. Trong ví dụ sau, tập lệnh Python của chúng tôi được đặt tại /home/ubuntu/test.py
2. Sử dụng ExecfileBạn cũng có thể đăng nhập vào Shell Django trước với lệnh sau. $ ./manage.py shell và sau đó sử dụng lệnh execfile để chạy tập lệnh python
Trong Python 3+, bạn sẽ cần sử dụng lệnh EXEC thay vì sử dụng Execfile.
3. Sử dụng Manage.pyBạn cũng có thể sử dụng Manage.py một mình để chạy các tập lệnh Python như được hiển thị bên dưới. $ ./manage.py /home/ubuntu/test.py Trong bài viết này, chúng tôi đã thấy ba cách khác nhau để chạy các kịch bản Python từ Django Shell. Mặc dù không nên chạy các tập lệnh Python từ Django Shell, nhưng đây là một cách tuyệt vời để chạy các tác vụ nền. Điều này là do khi bạn chạy các tập lệnh Python từ Django Shell, nó cho phép bạn truy cập vào tất cả các mô hình, chế độ xem và chức năng được xác định trong dự án Django của bạn. Cũng đọc: Cách vô hiệu hóa xác thực CSRF trong Djangohow để kích hoạt CORS trong Django Projecthow để kết hợp các truy vấn trong Djangohow để sửa lỗi noreversematch trong djangohow để chuyển đổi PDF thành hình ảnh/jpg trong Linux Bài viết liên quan:Tôi cần thực hiện một kịch bản Python từ Shell Django. Tôi đã thử:
Nhưng nó không hoạt động. Nó chỉ chờ tôi viết một cái gì đó.
Khi được hỏi ngày 31 tháng 5 năm 2013 lúc 9:05May 31, 2013 at 9:05 2 Phần 1 là sai, thay vào đó sử dụng 2:
Bạn cũng có thể làm:
Đối với Python3, bạn sẽ cần sử dụng
Jonathan 8.2758 Huy hiệu vàng52 Huy hiệu bạc71 Huy hiệu đồng8 gold badges52 silver badges71 bronze badges Đã trả lời ngày 31 tháng 5 năm 2013 lúc 9:13May 31, 2013 at 9:13
codeapecodeapecodeape 95,6K24 Huy hiệu vàng151 Huy hiệu bạc181 Huy hiệu đồng24 gold badges151 silver badges181 bronze badges 12 Bạn không nên làm điều đó từ 3 - và điều này được dự định là bạn không thực sự nên thực hiện các tập lệnh ngẫu nhiên từ môi trường Django (nhưng có nhiều cách xung quanh này, xem các câu trả lời khác).Nếu đây là một tập lệnh mà bạn sẽ chạy nhiều lần, thì bạn nên đặt nó như một lệnh tùy chỉnh tức là 0Để thực hiện việc này, hãy tạo một tệp trong một subdir là 4 và 5 của 6 của bạn, tức là 1và trong tệp này xác định lệnh tùy chỉnh của bạn (đảm bảo rằng tên của tệp là tên của lệnh bạn muốn thực thi từ 7) 2
Pianojames 3961 Huy hiệu vàng3 Huy hiệu bạc12 Huy hiệu đồng1 gold badge3 silver badges12 bronze badges Đã trả lời ngày 31 tháng 5 năm 2013 lúc 9:10May 31, 2013 at 9:10
Danodonovandanodonovandanodonovan Phim thương hiệu vàng 19k870 Huy hiệu bạc76 Huy hiệu đồng8 gold badges70 silver badges76 bronze badges 8 Đối với bất kỳ ai sử dụng Django 1.7+, có vẻ như chỉ cần nhập mô -đun cài đặt là không đủ. Sau khi đào, tôi tìm thấy câu trả lời tràn chồng này: https://stackoverflow.com/a/23241093 Bây giờ bạn cần phải: 3Không làm những điều trên, tôi đã gặp lỗi 8.Tệp tập lệnh của tôi nằm trong cùng thư mục với dự án django của tôi (tức là trong cùng thư mục với Manage.py)
Đã trả lời ngày 27 tháng 6 năm 2014 lúc 16:14Jun 27, 2014 at 16:14
Cgonscgonscgons 1.2511 Huy hiệu vàng8 Huy hiệu bạc5 Huy hiệu đồng1 gold badge8 silver badges5 bronze badges 8 Tôi trễ bữa tiệc nhưng tôi hy vọng rằng phản hồi của tôi sẽ giúp ai đó: bạn có thể làm điều này trong kịch bản Python của bạn: 4Phần còn lại của công cụ của bạn ở đây ....
người đàn ông thiếc 156K41 Huy hiệu vàng209 Huy hiệu bạc298 Huy hiệu Đồng41 gold badges209 silver badges298 bronze badges Đã trả lời ngày 17 tháng 10 năm 2013 lúc 12:27Oct 17, 2013 at 12:27
e-nourie-nourie-nouri 2.5261 Huy hiệu vàng20 Huy hiệu bạc34 Huy hiệu đồng1 gold badge20 silver badges34 bronze badges 4 Nếu ipython có sẵn ( 9) thì $ ./manage.py /home/ubuntu/test.py0 sẽ tự động sử dụng shell của nó và sau đó bạn có thể sử dụng lệnh ma thuật $ ./manage.py /home/ubuntu/test.py1: 5Đã trả lời ngày 15 tháng 12 năm 2016 lúc 10:44Dec 15, 2016 at 10:44
Gitaarikgitaarikgitaarik 38.9K11 Huy hiệu vàng94 Huy hiệu bạc103 Huy hiệu đồng11 gold badges94 silver badges103 bronze badges 1 @Atulvarma đã cung cấp một nhận xét rất hữu ích trong câu trả lời không được chấp nhận không làm việc: 6
Đã trả lời ngày 3 tháng 11 năm 2016 lúc 13:03Nov 3, 2016 at 13:03
Raratiruraratiruraratiru 8.0083 huy hiệu vàng66 Huy hiệu bạc105 Huy hiệu đồng3 gold badges66 silver badges105 bronze badges 1 Nếu bạn không có nhiều lệnh trong tập lệnh của mình, hãy sử dụng nó: 7Django Docs Đã trả lời ngày 18 tháng 7 năm 2018 lúc 14:41Jul 18, 2018 at 14:41
Tôi trễ bữa tiệc nhưng tôi hy vọng rằng phản hồi của tôi sẽ giúp ai đó: bạn có thể làm điều này trong kịch bản Python của bạn: Phần còn lại của công cụ của bạn ở đây .... Import 8người đàn ông thiếc Need to execute a Python script simply typing: 9Trong đó tệp test.py giống như nhìn này:test.py file like look this: $ ./manage.py shell0 Finaly: Kết quả sẽ là: The result will be: $ ./manage.py shell1 Trong đó ['ishwardi', 'jhenaidha', 'vòng tròn hvdc'] là các giá trị của gmd_table Đã trả lời ngày 9 tháng 6 năm 2021 lúc 11:07Jun 9, 2021 at 11:07
1 Bạn chỉ có thể chạy tập lệnh với bộ biến môi trường $ ./manage.py /home/ubuntu/test.py2. Đó là tất cả những gì cần thiết để thiết lập môi trường vỏ Django. Điều này hoạt động trong django> = 1.4 Đã trả lời ngày 31 tháng 5 năm 2013 lúc 13:42May 31, 2013 at 13:42
Ziimaziimaziima 6864 Huy hiệu bạc15 Huy hiệu Đồng4 silver badges15 bronze badges Như các câu trả lời khác chỉ ra nhưng không nêu rõ, những gì bạn thực sự cần không nhất thiết phải thực thi tập lệnh của bạn từ Shell Django, mà là để truy cập các ứng dụng của bạn mà không cần sử dụng Shell Django. Điều này khác nhau rất nhiều phiên bản django với phiên bản django. Nếu bạn không tìm thấy giải pháp của mình trên chủ đề này, câu trả lời ở đây - tập lệnh Django để truy cập các đối tượng mô hình mà không cần sử dụng shell Manage.py - hoặc các tìm kiếm tương tự có thể giúp bạn. Tôi đã phải bắt đầu my_command.py với $ ./manage.py shell2 Và sau đó chạy $ ./manage.py /home/ubuntu/test.py3 (Django 2.0.2) Đã trả lời ngày 21 tháng 2 năm 2018 lúc 21:31Feb 21, 2018 at 21:31
SimonesimoneSimone 1562 Huy hiệu bạc7 Huy hiệu đồng2 silver badges7 bronze badges 1 Lưu ý, phương pháp này đã không được dùng cho các phiên bản gần đây của Django! (> 1.3) Một câu trả lời khác, bạn có thể thêm điều này vào đầu $ ./manage.py /home/ubuntu/test.py4 $ ./manage.py shell3 và thực thi $ ./manage.py /home/ubuntu/test.py4 chỉ với Python trong thư mục mà bạn có $ ./manage.py /home/ubuntu/test.py6 nhưng đây là một chút hacky. $ ./manage.py shell4 Đã trả lời ngày 31 tháng 5 năm 2013 lúc 9:15May 31, 2013 at 9:15
Danodonovandanodonovandanodonovan Phim thương hiệu vàng 19k870 Huy hiệu bạc76 Huy hiệu đồng8 gold badges70 silver badges76 bronze badges $ ./manage.py shell5
Đã trả lời ngày 16 tháng 7 năm 2015 lúc 2:05Jul 16, 2015 at 2:05
1 Nếu bạn muốn chạy trong BG thậm chí còn tốt hơn: $ ./manage.py shell6 Đầu ra sẽ có trong $ ./manage.py /home/ubuntu/test.py7 Đã trả lời ngày 31 tháng 5 năm 2018 lúc 22:30May 31, 2018 at 22:30
Kevin Hekevin anhKevin He 1.1847 Huy hiệu bạc19 Huy hiệu đồng7 silver badges19 bronze badges Bạn có thể chỉ cần chạy: $ ./manage.py /home/ubuntu/test.py8 Nó nên làm công việc! Đã trả lời ngày 15 tháng 5 lúc 2:30May 15 at 2:30
Nếu bạn muốn thực thi tập lệnh khởi động (ví dụ: nhập một số mô hình django để hoạt động với chúng một cách tương tác) và vẫn ở trong shell django: $ ./manage.py shell7 Đã trả lời ngày 2 tháng 3 năm 2020 lúc 14:16Mar 2, 2020 at 14:16
ApogentusapogentusApogentus 6.1714 Huy hiệu vàng32 Huy hiệu bạc32 Huy hiệu Đồng4 gold badges32 silver badges32 bronze badges Một cái gì đó tôi chỉ thấy là thú vị là các tập lệnh Django, cho phép bạn viết các tập lệnh được chạy với Python Management.Py RunScript Foobar. Có thể tìm thấy thông tin chi tiết hơn về triển khai và thu hút ở đây, http://django-extensions.readthedocs.org/en/latest/index.html Đã trả lời ngày 4 tháng 6 năm 2014 lúc 14:09Jun 4, 2014 at 14:09
django.setup () dường như không hoạt động. Dường như cũng không được yêu cầu. Điều này một mình làm việc. $ ./manage.py shell8 Đã trả lời ngày 15 tháng 9 năm 2014 lúc 20:12Sep 15, 2014 at 20:12
davidj411davidj411davidj411 9259 Huy hiệu bạc10 Huy hiệu đồng9 silver badges10 bronze badges 1 Hãy thử điều này nếu bạn đang sử dụng môi trường ảo:-
Để sử dụng lệnh đó, bạn phải ở bên trong môi trường ảo. cho việc sử dụng này:-
Ví dụ :- $ ./manage.py shell9 Lưu ý:- Đây là tên trang web của tôi và Jango là tên môi trường ảo của tôi :- Here mysite is my website name and jango is my virtual enviroment name Đã trả lời ngày 22 tháng 1 năm 2015 lúc 12:46Jan 22, 2015 at 12:46
Rahul Satalrahul SatalRahul Satal 1.8772 huy hiệu vàng27 Huy hiệu bạc49 Huy hiệu đồng2 gold badges27 silver badges49 bronze badges Đến đây với câu hỏi tương tự như OP, và tôi đã tìm thấy câu trả lời yêu thích của mình chính xác trong sai lầm trong câu hỏi, cũng hoạt động trong Python 3: 0Đã trả lời ngày 8 tháng 5 năm 2019 lúc 17:21May 8, 2019 at 17:21
Mariotomomariotomomariotomo 9.1907 Huy hiệu vàng46 Huy hiệu bạc65 Huy hiệu Đồng7 gold badges46 silver badges65 bronze badges Cách khác, nó thực hiện cái này: 1Điều này đang hoạt động trên Python2.7 và Django1.9 Đã trả lời ngày 7 tháng 8 năm 2019 lúc 21:47Aug 7, 2019 at 21:47
Shell Django là cách tốt để thực hiện mô-đun Python với môi trường Django, nhưng không phải lúc nào cũng dễ dàng và mệt mỏi khi nhập các mô-đun và thực hiện các chức năng theo cách thủ công, đặc biệt là không hoàn thành tự động. Để giải quyết điều này, tôi đã tạo một tập lệnh shell nhỏ "RunScript.sh" cho phép bạn tận dụng tối đa sự tự động hoàn thành và lịch sử nhật ký của bảng điều khiển Linux. NB: Sao chép RunScript.Sh vào dự án gốc và đặt Execute Right (CHMOD +X) Ví dụ: Tôi muốn chạy chức năng Python có tên hiển thị (a, b, c) trong mô -đun do_somets.py trong myApp/do_folder/ Cách Django tiêu chuẩn (trình quản lý.py Shell): 2Với script (RunScript.sh): 3Kịch bản không bị giới hạn về số lượng đối số. Tuy nhiên, chỉ các đối số của các loại nguyên thủy được hỗ trợ (int, float, chuỗi) Đã trả lời ngày 16 tháng 4 năm 2020 lúc 14:01Apr 16, 2020 at 14:01
3 Đến bữa tiệc muộn. Nhưng điều này có thể hữu ích cho ai đó. Tất cả những gì bạn cần là tập lệnh của bạn và cài đặt $ ./manage.py /home/ubuntu/test.py9. Chỉ cần chạy 0 có sẵn trong 1 và nhập tập lệnh mà bạn đã viết.Nếu tập lệnh của bạn là 2 và nó nằm trong thư mục 3, bạn có thể chạy tập lệnh như sau. 4Và chỉ cần nhập kịch bản của bạn bên trong vỏ như sau. 5Đã trả lời ngày 12 tháng 5 năm 2020 lúc 14:34May 12, 2020 at 14:34
UnderoosunderoosUnderoos 4.1226 Huy hiệu vàng34 Huy hiệu bạc73 Huy hiệu đồng6 gold badges34 silver badges73 bronze badges Trước tiên hãy kiểm tra tệp của bạn. 6Nếu tệp của bạn được hiển thị 7Bây giờ bạn có thể chạy tệp .py của mình bằng cách nhập PowerShell (thiết bị đầu cuối) 8Đã trả lời ngày 27 tháng 1 lúc 17:44Jan 27 at 17:44
KoopskoopsKoops Phù hiệu bằng đồng 16277 bronze badges Trên thực tế, nó rất đơn giản, một khi bạn mở shell django với 4 tốt hơn chỉ cần viết 5 để nhập thử nghiệm.pythen simply write 5to import test.py 9Bây giờ bạn có thể thực thi các lệnh trong tệp này dưới dạng 0Đã trả lời ngày 8 tháng 5 lúc 16:35May 8 at 16:35
Đặt Globals (). Cập nhật (locals ()) sau khi nhập câu lệnhglobals().update(locals()) after importing statement Đã trả lời ngày 14 tháng 6 lúc 6:39Jun 14 at 6:39
Tập trung Zhengf Focus Zhengfocus zheng 3051 Huy hiệu vàng4 Huy hiệu bạc12 Huy hiệu đồng1 gold badge4 silver badges12 bronze badges Làm thế nào để bạn gọi một tệp python trong django?Làm thế nào để chạy kịch bản Python trong dự án Django.. Sử dụng vỏ. Điều hướng đến thư mục gốc của dự án Django của bạn có chứa tệp Management.py và chạy tập lệnh Python bằng lệnh sau. .... Sử dụng Execfile. Bạn cũng có thể đăng nhập vào Shell Django trước với lệnh sau. .... Sử dụng Management.py .. Làm cách nào để chạy tập lệnh Python trong mẫu Django?requirements.. Bước 1: Cài đặt PIP Django. Pip Cài đặt Django .. Bước 2: Mở cửa sổ nhắc nhở của bạn và tạo một thư mục gọi là "Django-Webapp" .... Bước 3: Trong cửa sổ nhắc nhở của bạn, điều hướng đến Django-Webapp & Run Django-Admin StartProject GeniusVoice (hoặc tên dự án Django của riêng bạn) .... Bước 4: Điều hướng đến Geniusvoice .. Làm thế nào để bạn gọi một tệp .py?Sử dụng lệnh Python để chạy các tập lệnh Python bằng lệnh Python, bạn cần mở một dòng lệnh và nhập từ Python, hoặc Python3 nếu bạn có cả hai phiên bản, theo sau là đường dẫn đến tập lệnh của bạn, giống như sau: $ python3Xin chào.open a command-line and type in the word python , or python3 if you have both versions, followed by the path to your script, just like this: $ python3 hello.py Hello World!
Bạn đặt mã python ở đâu trong django?Đặt mã của bạn vào một số thư mục bên ngoài gốc tài liệu, chẳng hạn như /home /mycode.Các tệp này là: Thư mục MySite/ Root bên ngoài là một thùng chứa cho dự án của bạn.Tên của nó không quan trọng với Django;Bạn có thể đổi tên nó thành bất cứ thứ gì bạn thích./home/mycode . These files are: The outer mysite/ root directory is a container for your project. Its name doesn't matter to Django; you can rename it to anything you like. |