为什么urls.py中不能import 我的app
时间: 2024-02-26 21:53:19 浏览: 22
在 Django 中,urls.py 是一个独立的 Python 模块,它和 app 并没有直接的联系,因此不能直接在 urls.py 文件中导入你的 app。urls.py 主要是用来定义 URL 路由规则,将 URL 映射到对应的视图函数或类上。如果你需要在视图函数中使用 app 中的功能,可以在视图函数中导入 app,并调用其相应的函数或类。如果你需要在多个 app 中共享某个功能,可以将其封装在一个单独的 Python 模块中,并在各个 app 中导入使用。
相关问题
django的app中新建url.py怎么写
在 Django 的 app 中新建 `url.py` 文件的写法如下:
1. 在 app 目录下创建一个名为 `urls.py` 的文件。
2. 在 `urls.py` 文件中导入 Django 的 `path` 函数和你想要使用的视图函数,例如:
```python
from django.urls import path
from . import views
```
3. 定义一个名为 `urlpatterns` 的列表,用于存储 URL 映射关系。在列表中使用 `path` 函数来定义 URL 和对应的视图函数,例如:
```python
urlpatterns = [
path('home/', views.home, name='home'),
path('about/', views.about, name='about'),
]
```
上述代码中,`home/` 和 `about/` 是 URL 地址,`views.home` 和 `views.about` 是对应的视图函数。
4. 在 app 的主 `urls.py` 文件中导入 app 的 `urls.py` 文件,并将其包含在主 URL 配置中。例如,在项目的主 `urls.py` 文件中添加以下代码:
```python
from django.contrib import admin
from django.urls import path, include
urlpatterns = [
path('admin/', admin.site.urls),
path('app/', include('app.urls')),
]
```
上述代码中,`include('app.urls')` 将包含 app 的 `urls.py` 文件。
这样,在访问 `http://yourdomain/app/home/` 时,将调用 `views.home` 视图函数。同理,访问 `http://yourdomain/app/about/` 将调用 `views.about` 视图函数。
注意:需要根据自己的实际情况修改 URL 地址和视图函数的名称。
django中的url.py文件中怎么引用app01下的视图文件
在 Django 中,可以通过 `urlpatterns` 列表来映射 URL 到视图函数。要引用 app01 下的视图文件,需要先在 `app01` 目录下创建一个 `views.py` 文件,并在其中定义视图函数。比如,我们可以在 `app01/views.py` 中定义一个名为 `hello` 的视图函数,代码如下:
```python
from django.http import HttpResponse
def hello(request):
return HttpResponse("Hello, world!")
```
然后,在项目的 `urls.py` 文件中,我们可以引用这个视图函数。假设我们想要将 `/app01/hello/` 映射到 `hello` 视图函数,可以在 `urlpatterns` 列表中添加以下代码:
```python
from django.urls import path
from app01.views import hello
urlpatterns = [
path('app01/hello/', hello, name='hello'),
# ...
]
```
这里使用了 `path` 函数来映射 URL,第一个参数是 URL 的路径,第二个参数是对应的视图函数。我们通过 `from app01.views import hello` 语句来引用 `app01` 下的 `views.py` 文件中的 `hello` 函数。这样,当用户访问 `/app01/hello/` 路径时,Django 就会调用 `hello` 函数来处理请求。