你們好,我是言淦,我今天帶來的文章是《Django3-打包本身的應用程序》,但願能給大家帶來幫助!python
環境: Django 2.2.1 + Python 3.6.7shell
"不要重複造輪子"算是編程界的一條原則,因此當咱們擼出了不少應用的時候,應用的複用是咱們值得關注的問題。django
$ django-admin startproject myproject
$ python manage.py startapp my_app
複製代碼
# my_app/views.py
from django.http import HttpResponse
def app_index(request):
return HttpResponse("Hello World")
# myproject/urls.py
from my_app import views
urlpatterns = [
# 這個去掉,由於可能會與新項目的admin衝突
# path('admin/', admin.site.urls),
path('my_app/', views.app_index)
]
# myproject/settings.py
INSTALLED_APPS = [
...
'my_app'
]
# 啓動, 瀏覽器打開http://127.0.0.1:8000/my_app/即可看到」Hello World「
複製代碼
此處可參考官方文檔: docs.djangoproject.com/zh-hans/2.2… 大體步驟以下:編程
1.拷貝myapp目錄到一個另外的目錄 注意新版本的Dj建立應用時(my_app)時並不會建立urls.py文件, 因此須要將上述的myproject/urls.py複製一份放到my_app文件夾,這樣引用的時候就不會出錯(path('my_app/', include('my_app.urls'))), 若是缺失此文件,會報」ModuleNotFoundError: No module named 'my_app.urls'「的錯誤提示。瀏覽器
2.編寫文檔中提到的各類文件bash
3.選擇一個開源協議: choosealicense.comapp
4.定義你的包名: setup.py的 name 設置項 包名只是pip安裝的時候使用,實際引用的時候仍是my_appurl
5.訪問的時候是 http://127.0.0.1:8000/my_app/my_app/, 不是http://127.0.0.1:8000/my_appspa
6.Python程序的打包:packaging.python.org/tutorials/p…code