大家好,我是言淦,我今天带来的文章是《Django3-打包自己的应用程序》,希望能给你们带来帮助!
环境: Django 2.2.1 + Python 3.6.7
"不要重复造轮子"算是编程界的一条原则,所以当我们撸出了很多应用的时候,应用的复用是我们值得关注的问题。
创建一个需要复用的应用
$ django-admin startproject myproject$ python manage.py startapp my_app复制代码
加上点功能(方便验证)
# my_app/views.pyfrom django.http import HttpResponsedef app_index(request): return HttpResponse("Hello World")# myproject/urls.pyfrom my_app import viewsurlpatterns = [ # 这个去掉,因为可能会与新项目的admin冲突 # path('admin/', admin.site.urls), path('my_app/', views.app_index)]# myproject/settings.pyINSTALLED_APPS = [ ... 'my_app']# 启动, 浏览器打开http://127.0.0.1:8000/my_app/便可看到”Hello World“复制代码
打包我们的应用(my_app)
此处可参考官方文档: 大致步骤如下:
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.编写文档中提到的各种文件
3.选择一个开源协议:
4.定义你的包名: setup.py的 name 设置项 包名只是pip安装的时候使用,实际引用的时候还是my_app
5.访问的时候是 不是http://127.0.0.1:8000/my_app
6.Python程序的打包: