Ich schrieb diesen Code, der dynamisch URL-Muster aus der Datenbank generiert. Diese URLs haben nur einen Ebenenpfad: domain.com/something
.Django 2.0 generieren dynamisch urlpatterns
SomeApp/models.py
class SomeModel(models.Model):
pattern = models.CharField(max_length=50)
name = models.CharField(max_length=50)
text = models.CharField(max_length=50)
SomeApp/apps.py
class SomeAppConfig(AppConfig):
name = 'someapp'
def ready(self):
from .models import SomeModel
from .urls import urlpatterns
from . import views
urls_in_db = SomeModel.objects.all()
for url_in_db in urls_in_db:
urlpatterns.append(path(url_in_db.pattern,
views.SpecialView.as_view(),
name=url_in_db.name)
SomeApp/views.py
class SpecialView(generic.TemplateView):
template_name = 'template/view_template.html'
model = SomeModel
def get_context_data(self, **kwargs):
context = super(SpecialView, self).get_context_data(**kwargs)
context['content'] = SomeModel.objects.get(pattern=self.request.path)
return context
Ist th ist die Lösung ein Anti-Pattern? Und wenn ja, warum? Danke
Danke für Ihre Antwort! – Greg
Ich bin froh, dass ich helfen konnte! – ndmeiri