0
データベースからURLパターンを動的に生成するこのコードを記述しました。これらのURLには、レベルパスが1つだけあります(domain.com/something
)。Django 2.0は動的にURLパターンを生成します
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
は番目です解決策はアンチパターンですか?そしてもしそうなら、なぜですか? ありがとう
あなたの答えをありがとう! – Greg
うれしい私は助けることができました! – ndmeiri