若有URL模式path(‘<str:name>/<int:version>/’,views.doc),则下列URL能够与之匹配的是_________ A. htp://127.0.0.1:8000/django/3.0/ B. htp://27.0.0.1:8000/django/3/ C. http://127.0.0.1:8000/python-djang0/3.0/ D. htp://127.0.0.1:8000/python/django/3/
时间: 2023-08-01 11:11:22 浏览: 104
可以匹配的 URL 是 B. http://27.0.0.1:8000/django/3/,因为它符合模式中指定的 `<str:name>` 和 `<int:version>` 参数类型和顺序。注意,模式中的斜杠 `/` 也需要匹配。其他选项中,A 中的版本号应该是整数,而 C 和 D 中的路径与模式不匹配。
相关问题
django的中间件 允许访问/wiki/categories/<str:category>/page/
要允许访问 `/wiki/categories/<str:category>/page/`,可以编写一个 Django 中间件来实现。下面是一个简单的示例中间件:
```python
from django.http import Http404
class WikiMiddleware:
def __init__(self, get_response):
self.get_response = get_response
def __call__(self, request):
# 获取请求路径
path = request.path_info
# 如果请求路径匹配 /wiki/categories/<str:category>/page/
if path.startswith('/wiki/categories/') and '/page/' in path:
# 允许访问
return self.get_response(request)
# 否则抛出 404 异常
raise Http404('Page not found')
```
将上述代码保存为一个 Python 文件,如 `wiki_middleware.py`,然后将其添加到 Django 项目的 `MIDDLEWARE` 设置中:
```python
MIDDLEWARE = [
# ...
'path.to.WikiMiddleware',
]
```
这样,访问 `/wiki/categories/<str:category>/page/` 将会被允许,而其他路径将会被拒绝访问。
http://127.0.0.1:8000/um/ users/<int:pk>/ url应该是社么
如果您使用Django框架开发网站,该url的正确格式应该是:
```
path('users/<int:pk>/', views.user_detail, name='user_detail')
```
其中,`<int:pk>`表示匹配一个整数类型的参数,这个参数会作为视图函数`views.user_detail`的参数传入,`name`参数可以给这个URL取一个名字,以便在模板中使用`{% url %}`标签生成链接。
如果您使用的是Flask框架,该url的正确格式应该是:
```
@app.route('/users/<int:pk>/')
def user_detail(pk):
...
```
其中,`<int:pk>`同样表示匹配一个整数类型的参数,这个参数会作为视图函数的参数传入。