【发布时间】:2020-11-30 11:54:04
【问题描述】:
我可以使用此代码来检测用户是否在美国
ip, is_routable = get_client_ip(request)
ip2 = requests.get('http://ip.42.pl/raw').text
if ip == "127.0.0.1":
ip = ip2
Country = DbIpCity.get(ip, api_key='free').country
widgets.py
如果用户是美国人,我想将信息传递给模板bootstrap_datetimepicker.html.
我真的不确定如何将有关用户国家/地区的信息添加到以下代码(我从另一个网站获得)。
class BootstrapDateTimePickerInput(DateTimeInput):
template_name = 'widgets/bootstrap_datetimepicker.html'
def get_context(self, name, value, attrs):
datetimepicker_id = 'datetimepicker_{name}'.format(name=name)
if attrs is None:
attrs = dict()
attrs['data-target'] = '#{id}'.format(id=datetimepicker_id)
# attrs['data-target'] = '#{id}'.format(id=datetimepicker_id)
attrs['class'] = 'form-control datetimepicker-input'
context = super().get_context(name, value, attrs)
context['widget']['datetimepicker_id'] = datetimepicker_id
return context
bootstrap_datetimepicker.html
我想为美国用户运行一个不同的 JQuery 函数。
{% if America %}
<script>
$(function () {
$("#{{ widget.datetimepicker_id }}").datetimepicker({
// format: 'DD/MM/YYYY/YYYY HH:mm:ss',
format: 'MM/DD/YYYY',
changeYear: true,
changeMonth: false,
minDate: new Date("01/01/2015 00:00:00"),
});
});
</script>
{% else %}
<script>
$(function () {
$("#{{ widget.datetimepicker_id }}").datetimepicker({
// format: 'DD/MM/YYYY/YYYY HH:mm:ss',
format: 'DD/MM/YYYY',
changeYear: true,
changeMonth: false,
minDate: new Date("01/01/2015 00:00:00"),
});
});
</script>
{% endif %}
【问题讨论】:
标签: python python-3.x django date widget