django下创建多个app并设置urls方法

时间:2021-05-23

1、创建第二个app

假设我们项目P下面已经有了一个默认的app,名字是app1。现在我想创建第二个app,名字时app2。

进入pychram下的Terminal中,运行命令:

pythonmanage.pystartappapp2

此外,我在每个app下都建立一个urls.py,方便区分。

右击app名,点击“new”,选择“Python File”,命名为urls,确定。

2、设置url.py

(1)设置P\urls.py

引入app2下的urls,然后添加引导路径。具体代码如下:

fromapp2importurlsasapp2_urlsurlpatterns=[path('app2/',include(app2_urls)),#将所有以app2开头的urls,都交给app2(app名)下的urls.py处理]

(2)设置app2\urls.py

fromdjango.urlsimportpathfromapp2importviewsurlpatterns=[path('index/',views.index),]

3、编写app2下的views.py

fromdjango.shortcutsimportrender,HttpResponse#Createyourviewshere.#绑定博客defindex(request):returnHttpResponse(111)

4、html页面如何调用url

一般在href或者src中调用一般这样写:

href="/app2/index/" rel="external nofollow"

这样就OK了。

内容扩展:

Django项目下创建多个app

基于Django2.0版本建立的项目。

之前在项目下建立app都是单个的,最近由于需求,需要在单个项目下建立多个app,最简单的方法就是将所有的app都放在与manage.py文件同级的目录下,但是这样的方式会显得项目目录下的文件夹臃肿,对于强迫症的而言简直是一种折磨。

所以我采取了将多个app放在同一个文件夹内的方式来解决这种问题。

myDjango ├───.idea │ └───inspectionProfiles ├───Apps │ ├───app01 │ │ ├───migrations │ │ │ └───__pycache__ │ │ └───__pycache__ │ └───app02 │ ├───migrations │ │ └───__pycache__ │ └───__pycache__ ├───myDjango │ └───__pycache__ └───templates ├───app01 └───app02

myDjango是项目名称,将创建的app放在了Apps文件夹内。这样做使整个项目的看起来干净很多。对于template也采取了类似的做法,将不同应用的template放在不同的目录下,为了使url尽量看起来舒服一点,在每个应用中添加了一个urls.py文件,为了在项目的urls.py文件中引用。

放置好之后在myDjango目录下的setting.py文件进行设置,添加一句

sys.path.insert(0, os.path.join(BASE_DIR, 'Apps'))

做好之后,还需要在myDjango目录下的urls.py文件添加对应的path

from django.contrib import adminfrom django.urls import path, include urlpatterns = [ path('admin/', admin.site.urls), path('app02/', include("Apps.app02.urls")), path('app01', include("Apps.app01.urls")),]

到这里基本上就可以在一个项目中设置多个app了。

声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。

相关文章