ModelAdmin에서 검색을 하는 방법이 있다. 

Django 에서는 기본적으로 DjangoORMSearchHandler 을 제공한다.  https://docs.djangoproject.com/en/4.0/ref/contrib/admin/#django.contrib.admin.ModelAdmin.search_fields

 

The Django admin site | Django documentation | Django

Django The web framework for perfectionists with deadlines. Overview Download Documentation News Community Code Issues About ♥ Donate

docs.djangoproject.com

모델의 CharField, TextField, RichTextField or StreamField만 검색을 제공하고 foreignkey의 속성을 검색하고 싶으면 

foreignkey__atrribute로 검색하면 된다. 그리고 wagtail에서는 ','을 붙여줘야한다. 

class UserCourseAdmin(ModelAdmin):
    model = UserCourse
    menu_label = '사용자 신청 강의 관리'  # ditch this to use verbose_name_plural from model
    menu_icon = 'list-ol'  # change as required
    list_display = ('user_email', 'course',)
    search_fields = ['user__email',]
    #search_handler_class = WagtailBackendSearchHandler

list_display에는 @property를 사용할 수 있으므로 저렇게 추가적인 외래키의 내용이 필요하다면 정의해주자.

 

 

 

 

Wagtail에서는 WagtailBackendSearchHandler를 제공하는데 문제는 모델의 필드들만 검색이 가능하다. 

search_handler_class = WagtailBackendSearchHandler

https://docs.wagtail.io/en/stable/reference/contrib/modeladmin/indexview.html#modeladmin-search-fields

'Back-End > Wagtail, Django' 카테고리의 다른 글

Wagtail 프로젝트 배포  (0) 2021.12.20
Wagtail Changing the Admin Display Title  (0) 2021.12.03
Wagtail Routable  (0) 2021.12.03
Wagtail StreamField Options  (0) 2021.12.02
Wagtail Custom Page Properties  (0) 2021.12.02

https://www.phooky.com/blog/deploy-your-wagtail-webpage-with-docker-postgresql-gunicorn-nginx/

 

 

conda install -c anaconda psycopg2
sudo chmod666 /var/run/docker.sock
sudo -i -u postgres
chmod 755 entrypoint.sh
docker-compose -f docker-compose.prod.yml build --no-cache

 

'Back-End > Wagtail, Django' 카테고리의 다른 글

Wagtail, Django ModelAdmin Search  (0) 2022.01.14
Wagtail Changing the Admin Display Title  (0) 2021.12.03
Wagtail Routable  (0) 2021.12.03
Wagtail StreamField Options  (0) 2021.12.02
Wagtail Custom Page Properties  (0) 2021.12.02
    def get_admin_display_title(self):
        return "Home Page is the Best"

 

'Back-End > Wagtail, Django' 카테고리의 다른 글

Wagtail, Django ModelAdmin Search  (0) 2022.01.14
Wagtail 프로젝트 배포  (0) 2021.12.20
Wagtail Routable  (0) 2021.12.03
Wagtail StreamField Options  (0) 2021.12.02
Wagtail Custom Page Properties  (0) 2021.12.02

BlogListingPage

    @route(r"november-2021/$", name="november_2021")
    @route(r"^year/(\d+)/(\d+)/$", name="blogs_by_year")
    def blog_by_year(self, request, year=None, month=None):
        context = self.get_context(request)
        
        return render(request, "blog/latest_posts.html", context)
    
    @route(r'^category/(?P<cat_slug>[-\w]*)/$', name="category_view")
    def category_view(self, request, cat_slug):
        context = self.get_context(request)
        
        try:
            category = BlogCategory.objects.get(slug=cat_slug)
        except Exception:
            category = None
            
        if category is None:
            pass
    
        context["posts"] = BlogDetailPage.objects.filter(categories__in=[category])
        return render(request, "blog/latest_posts.html", context)

 

blog_listing_page.html

    <a href="{% routablepageurl page 'latest_blog_posts' %}">View Latest Posts Only</a>

    <h2>Categories</h2>
    <ul>
        {% for cat in categories.all %}
        <li>
            <a href="{% routablepageurl page "category_view" cat.slug %}">{{ cat.name }}</a>
        </li>
        {% endfor %}
    </ul>

'Back-End > Wagtail, Django' 카테고리의 다른 글

Wagtail 프로젝트 배포  (0) 2021.12.20
Wagtail Changing the Admin Display Title  (0) 2021.12.03
Wagtail StreamField Options  (0) 2021.12.02
Wagtail Custom Page Properties  (0) 2021.12.02
Wagtail Custom Admin Tabs  (0) 2021.12.01

1. Models.py

    from wagtail.core import blocks as streamfield_blocks
    
    
    content = StreamField(
        [
			...
            ("char_block", streamfield_blocks.CharBlock(
                required=True,
                help_text="Oh wow this is help text!!",
                min_length=10,
                max_length=50,
                template="streams/char_block.html"
            ))
        ],
    )

 

 

2. templates

 

streams/char_block.html

<div class="container">
    <div class="row">
        <col-sm-10 class="offset-sm-1">
            {{ self }}
        </col-sm-10>
    </div>
</div>

'Back-End > Wagtail, Django' 카테고리의 다른 글

Wagtail Changing the Admin Display Title  (0) 2021.12.03
Wagtail Routable  (0) 2021.12.03
Wagtail Custom Page Properties  (0) 2021.12.02
Wagtail Custom Admin Tabs  (0) 2021.12.01
Wagtail Tags  (0) 2021.12.01
HomePage._meta.get_field("title").verbose_name = "To any verbose name"
HomePage._meta.get_field("title").help_text = None
HomePage._meta.get_field("title").default = "Some default title Homepage"
HomePage._meta.get_field("slug").default = "some-default-title-for-homepage"

홈페이지의 Page 필드의 기본 필드인 title이나 slug등을 Custom 하고 싶다면 위와 같이 바꾸면 된다. 

'Back-End > Wagtail, Django' 카테고리의 다른 글

Wagtail Routable  (0) 2021.12.03
Wagtail StreamField Options  (0) 2021.12.02
Wagtail Custom Admin Tabs  (0) 2021.12.01
Wagtail Tags  (0) 2021.12.01
Wagtail Ajax Template  (0) 2021.12.01

+ Recent posts