Если целью является только показать его один раз, вы можете использовать пример на веб-сайте MDN в качестве начала.
if (document.cookie.replace(/(?:(?:^|.*;\s*)someCookieName\s*\=\s*([^;]*).*$)|^.*$/, "$1") !== "true") {
alert("Do something here!");
document.cookie = "someCookieName=true; expires=Fri, 31 Dec 9999 23:59:59 GMT; path=/";
}
http: // jsfiddle.net/daCrosby/pqb5baa5/
Изменить
Здесь он показывает вам div. Заметьте, я переместил стиль в CSS вместо встроенного в мой jsFiddle - гораздо лучший подход, чтобы попасть в зависание
if (document.cookie.replace(/(?:(?:^|.*;\s*)someCookieName\s*\=\s*([^;]*).*$)|^.*$/, "$1") !== "true") {
document.getElementById("popupp").style.visibility = "visbile";
document.cookie = "someCookieName=true; expires=Fri, 31 Dec 9999 23:59:59 GMT; path=/";
}
Не рекомендуется (больше не) создавать подкласс; функции json.dump()
и json.dumps()
принимают функцию default
:
def decimal_default(obj):
if isinstance(obj, decimal.Decimal):
return float(obj)
raise TypeError
json.dumps({'x': decimal.Decimal('5.5')}, default=decimal_default)
Демонстрация:
>>> def decimal_default(obj):
... if isinstance(obj, decimal.Decimal):
... return float(obj)
... raise TypeError
...
>>> json.dumps({'x': decimal.Decimal('5.5')}, default=decimal_default)
'{"x": 5.5}'
Код, который вы обнаружили, работал только на Python 2.6 и переопределяет закрытый метод это больше не вызывается в более поздних версиях.
Я не могу поверить, что никто здесь не говорил об использовании simplejson, который поддерживает десериализацию Decimal из коробки.
import simplejson
from decimal import Decimal
simplejson.dumps({"salary": Decimal("5000000.00")})
'{"salary": 5000000.00}'
simplejson.dumps({"salary": Decimal("1.1")+Decimal("2.2")-Decimal("3.3")})
'{"salary": 0.0}'
Если вы используете Django. Существует отличный класс для полей десятичной дроби и даты:
https://docs.djangoproject.com/en/1.10/topics/serialization/#djangojsonencoder
используйте это:
import json
from django.core.serializers.json import DjangoJSONEncoder
json.dumps(value, cls=DjangoJSONEncoder)