Jubilar Django: borrar el portal antiguo, la web ya la sirve Next

El cutover se hizo hoy: Caddy manda www.nightspire.gg a :3001 (Next), así que
Django se quedó sin dominio y sin uso. Se comprobó antes de borrar que nada
dependía de él: ninguna referencia a :8001 en Caddy, el timer de reconciliación
llama a Next, DJANGO_API_BASE no lo leía ni una línea del código (se quita
también de la unidad de systemd), web-next/public es autónomo (736 ficheros
reales, 0 symlinks) y no hay ni una referencia a /static/. Con Django parado la
web siguió dando 200 en todas las rutas.

Se va: home/, novawow/, forum/, wotlk_db/, frontend/ (las islas React que Next
sustituyó), static/, staticfiles/, manage.py, requirements.txt, db.sqlite3 y el
Docker de Django.

Se quedan docs/ y sql/: no son código Django sino documentación y esquemas, y
sql/forum_schema.sql describe la BD acore_web que Next usa hoy.

La BASE DE DATOS no se toca. django_wow y sus 41 tablas home_* son ahora de
Next, que las consulta con SQL directo. El nombre se queda por historia.

README reescrito: describía cómo montar un Django que ya no existe (venv,
manage.py migrate, gunicorn, Docker).

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-07-15 14:39:19 +00:00
parent 9390eefa93
commit 5fd006aca9
740 changed files with 56 additions and 112924 deletions
-125
View File
@@ -1,125 +0,0 @@
<!DOCTYPE html>
<html lang="es" xml:lang="es" xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
<meta name="viewport" content="width=device-width, height=device-height, initial-scale=1.0, minimum-scale=1.0">
<title>{{ NOMBRE_SERVIDOR }} Server de WoW WotLK 3.4.3 Latino y Español 💎</title>
<meta name="description" content="Descarga y juega gratis a WotLK en {{ NOMBRE_SERVIDOR }} - Server de WoW WotLK 3.4.3 Latino y Español - El mejor server de WoW 🔥" />
<meta name="keywords" content="server wow, server wotlk, server 3.4.3, servidor de wow, servidor wotlk, servidor 3.4.3, servidor de wow español, server de wow latino, wow 3.4.3 latino, wow 3.4.3 español, server wow en español, server wotlk blizzlike, server 3.4.3, el mejor server de wow, servidores de wow gratis, servidores de wow gratis en español, servidores para jugar al wow gratis, server wow wotlk 3.4.3, {{ NOMBRE_SERVIDOR }}" />
<meta name="yandex-verification" content="4e86b91aa5a35470" />
<meta name="msvalidate.01" content="8A6F294567EA3FFA94F2DC10104E6527" />
<meta name="apple-mobile-web-app-title" content="{{ NOMBRE_SERVIDOR }}" />
<meta name="application-name" content="{{ NOMBRE_SERVIDOR }}" />
<meta name="msapplication-TileColor" content="#47210a" />
<meta name="msapplication-TileImage" content="{{ URL_PRINCIPAL }}/static/mstile-144x144.png?v=4" />
<meta name="msapplication-config" content="{{ URL_PRINCIPAL }}/static/browserconfig.xml" />
<meta property="og:site_name" content="{{ NOMBRE_SERVIDOR }}" />
<meta property="og:title" content="{{ NOMBRE_SERVIDOR }} Server de WoW WotLK 3.4.3 Latino y Español 💎" />
<meta property="og:type" content="website" />
<meta property="og:description" content="Juega gratis WotLK en {{ NOMBRE_SERVIDOR }} - Server de WoW WotLK 3.4.3 Latino y Español - El mejor server de WoW" />
<meta property="og:url" content="{{ URL_PRINCIPAL }}/es/" />
<meta property="og:image" content="{{ URL_PRINCIPAL }}/static/nw-themes/nw-ryu/nw-images/nw-logos/novawow-og-logo.png" />
<meta property="og:locale" content="es_ES" />
<meta property="fb:app_id" content="1499391136871080" />
<base href="{{ URL_PRINCIPAL }}/es/" />
<link rel="canonical" lang="es" href="{{ URL_PRINCIPAL }}/es/" />
<link rel="stylesheet" href="{{ URL_PRINCIPAL }}/static/nw-themes/nw-ryu/nw-css/novawow-style.css" />
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.6.0/css/all.min.css">
<link rel="apple-touch-icon" sizes="180x180" href="{{ URL_PRINCIPAL }}/static/apple-touch-icon.png?v=4" />
<link rel="icon" type="image/png" sizes="32x32" href="{{ URL_PRINCIPAL }}/static/favicon-32x32.png?v=4" />
<link rel="icon" type="image/png" sizes="194x194" href="{{ URL_PRINCIPAL }}/static/favicon-194x194.png?v=4" />
<link rel="icon" type="image/png" sizes="192x192" href="{{ URL_PRINCIPAL }}/static/android-chrome-192x192.png?v=4" />
<link rel="icon" type="image/png" sizes="16x16" href="{{ URL_PRINCIPAL }}/static/favicon-16x16.png?v=4" />
<link rel="manifest" href="{{ URL_PRINCIPAL }}/static/site.webmanifest?v=4" />
<link rel="mask-icon" href="{{ URL_PRINCIPAL }}/static/safari-pinned-tab.svg?v=4" color="#47210a" />
<link rel="shortcut icon" href="{{ URL_PRINCIPAL }}/static/favicon.ico" />
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.7.1/jquery.min.js"></script>
<!-- CSRF: expone el token y lo envía en cabecera en todas las peticiones AJAX (jQuery) no seguras -->
<script>window.CSRF_TOKEN = "{{ csrf_token }}";</script>
<script>
$(function () {
$.ajaxSetup({
beforeSend: function (xhr, settings) {
if (!/^(GET|HEAD|OPTIONS|TRACE)$/.test(settings.type) && !this.crossDomain) {
xhr.setRequestHeader("X-CSRFToken", window.CSRF_TOKEN);
}
}
});
});
</script>
<script src="https://www.google.com/recaptcha/api.js"></script>
<script src="{{ URL_PRINCIPAL }}/static/nw-themes/nw-ryu/nw-js/power.js?lang=es"></script>
<script src="{{ URL_PRINCIPAL }}/static/nw-themes/nw-ryu/nw-js/nw-scripts.js"></script>
<script>var aowow_tooltips = { "colorlinks": true, "iconizelinks": true, "renamelinks": true }</script>
<!-- Cookies -->
<script id="Cookiebot" src="https://consent.cookiebot.com/uc.js" data-cbid="83d887ca-39f3-45cc-b59b-f4c285e3cc5d" data-blockingmode="auto" type="text/javascript"></script>
<!-- Global site tag (gtag.js) - Google Analytics -->
<script async src="https://www.googletagmanager.com/gtag/js?id=UA-71220506-2"></script>
<script>
window.dataLayer = window.dataLayer || [];
function gtag(){dataLayer.push(arguments);}
gtag('js', new Date());
gtag('config', 'UA-71220506-2');
</script>
<!-- Social network for SEO -->
<script type="application/ld+json">
{
"@context": "http://schema.org/",
"@type": "Organization",
"name": "{{ NOMBRE_SERVIDOR }}",
"url": "{{ URL_PRINCIPAL }}/es/",
"sameAs": [
"https://www.facebook.com/NovaWoW",
"https://www.instagram.com/NovaWoW/",
"https://twitter.com/NovaWoW"
]
}
</script>
<!-- time -->
<script>
function startTime() {
var today = new Date();
var h = today.getUTCHours();
var m = today.getUTCMinutes();
var s = today.getUTCSeconds();
m = checkTime(m);
s = checkTime(s);
document.getElementById("server-time").innerHTML =
h + ":" + m + ":" + s;
var t = setTimeout(startTime, 500);
}
function checkTime(i) {
if (i < 10) {i = "0" + i}; // add zero in front of numbers < 10
return i;
}
</script>
<!-- Facebook Pixel Code -->
<script>
!function(f,b,e,v,n,t,s)
{if(f.fbq)return;n=f.fbq=function(){n.callMethod?
n.callMethod.apply(n,arguments):n.queue.push(arguments)};
if(!f._fbq)f._fbq=n;n.push=n;n.loaded=!0;n.version="2.0";
n.queue=[];t=b.createElement(e);t.async=!0;
t.src=v;s=b.getElementsByTagName(e)[0];
s.parentNode.insertBefore(t,s)}(window, document,"script",
"https://connect.facebook.net/en_US/fbevents.js");
fbq("init", "744841762902490");
fbq("track", "PageView");
</script>
<noscript><img height="1" width="1" style="display:none" src="https://www.facebook.com/tr?id=744841762902490&ev=PageView&noscript=1"/></noscript>
<!-- End Facebook Pixel Code -->
</head>