小编raj*_*ris的帖子

Django:自定义中间件导致 NoneType 错误

我收到这个错误:

     内部服务器错误: /
    回溯(最近一次调用最后一次):
      文件“/home/cena/AjiiMajii/.venv/local/lib/python2.7/site-packages/django/core/handlers/exception.py”,第 41 行,在内部
        响应 = get_response(请求)
      文件“/home/cena/AjiiMajii/.venv/local/lib/python2.7/site-packages/django/utils/deprecation.py”,第 142 行,在 __call__ 中
        响应= self.process_response(请求,响应)
      文件“/home/cena/AjiiMajii/.venv/local/lib/python2.7/site-packages/django/middleware/clickjacking.py”,第 32 行,process_response
        如果 response.get('X-Frame-Options') 不是 None:
    AttributeError:“NoneType”对象没有属性“get”
    [2017年12月4日20:08:25]“获取/HTTP/1.1”500 65880

    

我的中间件是:

MIDDLEWARE = [
    'django.middleware.security.SecurityMiddleware',
    'django.contrib.sessions.middleware.SessionMiddleware',
    'django.middleware.common.CommonMiddleware',
    'django.middleware.csrf.CsrfViewMiddleware',
    'django.contrib.auth.middleware.AuthenticationMiddleware',
    'django.contrib.messages.middleware.MessageMiddleware',
    'django.middleware.clickjacking.XFrameOptionsMiddleware',
    'cms.Middleware.Visits',
]

</pre>
Run Code Online (Sandbox Code Playgroud)

和我的自定义中间件“cms.Middleware.Visits”

class Visits(MiddlewareMixin): def __init__(self,get_response): self.get_response = get_response def __call__(self, request): print '*'*22 print self.get_client_ip(request) print '*'*22 def get_client_ip(self,request): x_forwarded_for = request.META.get('HTTP_X_FORWARDED_FOR') if x_forwarded_for: ip = x_forwarded_for.split(',')[-1].strip() else: ip = request.META.get('REMOTE_ADDR') return ip def RedisConnection(self): Connection=redis.Redis(host='localhost',port='6379') self.Connection=Connection return self.Connection …
Run Code Online (Sandbox Code Playgroud)

python django middleware nonetype

7
推荐指数
1
解决办法
2604
查看次数

获取:当 njs 与 Nginx 一起使用时未知指令“js_import”

我在 Nginx conf 中做出以下声明:

js_import http.js;
Run Code Online (Sandbox Code Playgroud)

但它似乎给了我unknown directive "js_import"

我已经验证njs是否安装了。我似乎可以进入cli。njs的版本是0.3.9

下面的语句似乎有效并且是放置http块:

js_include http.js
Run Code Online (Sandbox Code Playgroud)

这似乎也有效,并且被放置在server块内的块中http

js_content hello
Run Code Online (Sandbox Code Playgroud)

Nginx 似乎是最新版本。

我似乎找不到我在这里缺少的东西。

任何帮助是极大的赞赏。

nginx docker docker-compose nginx-reverse-proxy

6
推荐指数
1
解决办法
7398
查看次数

使用 Django rest 框架发布空日期字段错误

模型.py

class Form(models.Model):
    no = models.IntegerField()
    finish_date = models.DateField(blank=True, null=True)
Run Code Online (Sandbox Code Playgroud)

序列化程序.py

class FormSerializer(serializers.ModelSerializer):
    class Meta:
        model = Form
        fields = '__all__'
Run Code Online (Sandbox Code Playgroud)

如果我尝试:

http http://127.0.0.1:8000/api/forms no=112 "finish_date"=""
Run Code Online (Sandbox Code Playgroud)

它返回错误:

"finish_date": [
    "Date has wrong format. Use one of these formats instead: YYYY[-MM[-DD]]."
]
Run Code Online (Sandbox Code Playgroud)

如果我将 "finish_date" 设置为 null ,则这篇文章有效。并且StringField(blank=True, null=True)不会得到错误。

怎么解决?

django django-rest-framework

5
推荐指数
2
解决办法
3457
查看次数