Django 2.0 URLs配置:初学者求助urls.py文件配置问题
搞定Django URL配置的小技巧
嘿,作为Django初学者碰到URL配置问题太正常啦!我来一步步帮你捋清楚怎么解决~
首先先确认下你的文件结构是不是这样的?
项目根目录/ ├── pacha/ # 项目主目录(和你urls.py里的pacha对应) │ ├── urls.py │ └── ... └── contacts/ # 你的contacts应用 ├── views/ │ ├── __init__.py # 划重点!这个空文件必须有,不然Python不认这个文件夹是模块 │ └── index.py └── ...
第一步:先补全关键文件
一定要在contacts/views/文件夹里创建一个空的__init__.py文件,没有它的话,Django找不到你index.py里的视图函数哦。
第二步:两种URL配置方案任你选
方案一:直接在项目根urls.py里配置(适合小项目)
修改项目根目录下的pacha/urls.py:
from django.contrib import admin from django.urls import path # 导入contacts应用下views文件夹里的index模块 from contacts.views import index urlpatterns = [ path('admin/', admin.site.urls), # 把根路径指向index.py里的具体视图函数,比如你的函数叫home就写index.home path('', index.home), ]
方案二:用include拆分URL(推荐!项目大了好维护)
这个方法是把contacts应用的URL单独管理,更符合Django的最佳实践:
- 先在
contacts应用里新建一个urls.py文件,路径是contacts/urls.py - 编写这个文件的内容:
from django.urls import path # 从当前应用的views文件夹导入index模块 from .views import index urlpatterns = [ # 这里配置contacts应用内部的URL,比如根路径对应index.home path('', index.home), ]
- 再修改项目根目录的
pacha/urls.py:
from django.contrib import admin from django.urls import path, include urlpatterns = [ path('admin/', admin.site.urls), # 把根路径转发给contacts应用的urls.py处理 path('', include('contacts.urls')), ]
最后检查下视图函数
别忘了你的contacts/views/index.py里要正确定义视图函数,比如:
from django.http import HttpResponse def home(request): return HttpResponse("欢迎来到联系人页面!")
这样配置完之后,启动Django服务器,访问根路径就能看到你的视图内容啦~
内容的提问来源于stack exchange,提问作者yacine.b
相关产品推荐
相关产品推荐

