from django.db import models
from django.contrib.auth.models import User
class APIKey(models.Model):
user = models.OneToOneField(User, on_delete=models.CASCADE)
key = models.CharField(max_length=64, unique=True)
from django.http import JsonResponse
from your_app.models import APIKey
def api_key_required(view_func):
@wraps(view_func)
def _wrapped_view(request, *args, **kwargs):
api_key = request.headers.get("X-API-Key")
if not api_key or not APIKey.objects.filter(key=api_key).exists():
return JsonResponse({"error": "Unauthorized"}, status=403)
return view_func(request, *args, **kwargs)
return _wrapped_view
from django.http import JsonResponse
from django.views.decorators.csrf import csrf_exempt
@csrf_exempt
@api_key_required
def my_api_view(request):
return JsonResponse({"message": "Success"})
ffprobe -v quiet -print_format json -show_format example.avi
ffprobe -v quiet -show_entries format=duration -of default=noprint_wrappers=1:nokey=1 example.avi
$duration=`ffprobe -v quiet -show_entries format=duration -of default=noprint_wrappers=1:nokey=1 "$filename"`';
function display_forecast_json() {
$file_path = ABSPATH . 'wp-content/forecast.json';
if (file_exists($file_path)) {
$json_content = file_get_contents($file_path);
$data = json_decode($json_content, true);
if (!empty($data)) {
$output = '<table border="1" style="width:100%; text-align: left;">';
$output .= '<thead><tr><th>Дата и время</th><th>Вероятность</th></tr></thead>';
$output .= '<tbody>';
foreach ($data as $item) {
$output .= '<tr>';
$output .= '<td>' . esc_html($item['дата и время']) . '</td>';
$output .= '<td>' . esc_html($item['вероятность']) . '</td>';
$output .= '</tr>';
}
$output .= '</tbody></table>';
return $output;
} else {
return '<p>JSON файл пуст или содержит некорректные данные.</p>';
}
} else {
return '<p>Файл forecast.json не найден.</p>';
}
}
// Регистрируем шорткод [forecast_display], чтобы отображать данные
add_shortcode('forecast_display', 'display_forecast_json');