Django 小メモ

Djangoで学んだことをメモする

reverse

urls.pyでname指定したパスを取得する

# accounts/urls.py
from django.urls import path
from . import views


urlpatterns = [
  path('signup/', views.signup_view, name="signup_template"),
]
# accounts/tests.py
from django.test import TestCase
from .views import signup_view
from django.urls import reverse, resolve


class SignUpTests(TestCase):
    def test_signup_status_code(self):
        # urls.pyでnameで指定したものを書く
        url = reverse('signup_template')
        response = self.client.get(url)
        self.assertEquals(response.status_code, 200)
        
    def test_signup_url_resolves_signup_view(self):
        view = resolve('/signup/')
        self.assertEquals(view.func, signup_view)
# Create your tests here.

特殊文字の向こうの仕方

Djangoではデフォルトで特殊文字エスケープしている テキストノードでもエスケープされて表示されるときがあるため、一応その対策を書いておく

無効化方法

safeフィルタを使用してエスケープしないようにする

{% if field.help_text %}
      <small class="form-text text-muted">
        {{ field.help_text|safe }}
      </small>
{% endif %}