你们好,我是言淦,我今天带来的文章是《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