django中间件如何设置含有参数的路径例如/wiki/categories/<str:category>/page/
时间: 2023-12-09 21:03:33 浏览: 138
标杆徐Linux微课堂: Nginx动静分离/Nginx+uWSGI+Django生产环境部署实践
可以通过在中间件类的构造函数中接收参数来实现。例如,假设你有一个中间件类`MyMiddleware`,你想要在`/wiki/categories/<str:category>/page/`路径下使用它,你可以这样实现:
```python
class MyMiddleware:
def __init__(self, get_response, category):
self.get_response = get_response
self.category = category
# ...
def __call__(self, request):
# ...
```
然后在`settings.py`中指定中间件和对应的参数:
```python
MIDDLEWARE = [
# ...
'path.to.MyMiddleware': {
'category': '<str:category>',
},
# ...
]
```
这样在请求`/wiki/categories/some_category/page/`时,Django会自动将`<str:category>`解析为`some_category`,并将其传递给`MyMiddleware`的构造函数。
阅读全文