title: How to use Django's include without a string literal?
body: <p>I just started up with django.</p>
  
  <p>Following <a href="https://docs.djangoproject.com/en/3.0/intro/tutorial01/" rel="nofollow noreferrer">this tutorial</a>, I ended up with the following <code>urls.py</code>:</p>
  
  <pre><code>from django.contrib import admin
  from django.urls import include, path
  
  urlpatterns = [
      path('polls/', include('polls.urls')),
      path('admin/', admin.site.urls),
  ]
  </code></pre>
  
  <p>This links to <code>polls.urls.py</code> which has its own router.</p>
  
  <p>The part I don't like is the string literal 'polls.urls' which is, well... a string literal.</p>
  
  <p>I would like to somehow reference the file directly using some of python's power, and have AT LEAST my IDE protect me.</p>
  
  <p>What happens if I want to move that <code>polls.urls.py</code> file, or rename it, or rename polls? Should I trust my IDE to catch a reference from a string literal?</p>
  
  <p>This is almost like doing <a href="https://stackoverflow.com/questions/14071135/import-file-using-string-as-name">this monstrosity</a>, and is very hard for me to accept as the best practice.</p>
  
  <p>It just seems odd to me.</p>
  
  <hr>
  
  <p>Is there a way to use something less prone to errors than string literals in django's routers?</p>