Django初心者です。
タイトルの通り、modelを表示するViewを複数つくりたいのですが、一つのmodelに対して、create、index等もろもろのViewをつくることを考えると、
以下のソースコードのように、普通に実装していくと、同じようなコードだらけになることが予想され、
何か良い方法はないのかなと思い質問させていただきました。
オーバーライドすれば良いのかなと思いましたがそれでもクラスが二つできてしまいので...
その場合でも、Pythonはあまり詳しくないので、コードを提示していただけるとありがたいです。
よろしくお願いします!
ソースコード
views.py
python
1from django.urls import reverse_lazy 2from django.views import generic 3from .models import QuestionCategory, Question 4 5 6class IndexView(generic.ListView): 7 model = QuestionCategory 8 paginate_by = 20 9 template_name = 'index.html' 10 11class QuestionIndexView(generic.ListView): 12 model = Question 13 paginate_by = 20 14 template_name = 'index.html'
url.py
python
1from django.urls import path 2from . import views 3urlpatterns = [ 4 path('question', views.QuestionIndexView.as_view(), name='question_index'), 5 path('quesiton-category', views.QuestionCategoryIndexView.as_view(), name='question_category_index'), 6 """同様に 7 question/create 8 question-category/create 9 ・・・ 10 ・・・ 11 みたいな感じで続いていくとコード量が多くなってしまうので減らしたいです。 12 """ 13]
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/12/02 03:43
2019/12/02 06:18
2019/12/06 08:55