I like the following method because it lets me start a project with a single file of views per app and then later when it grows, split it into named files in a 'views' directory - without needing to adjust other code which imports them.
1. Create a views directory in the app dir
2. Create __init__.py in the new directory
3. Move the monster views.py into ./views renaming it to original.py or something similar.
4. Split original.py into as many useful individual views files as desired - including separate utilities file(s) etc.
5. In __init__.py import each view used by your urls.py using lines like ...
from .filename import ViewName
Obviously, multiple views can be grouped into the same file so long as they are imported into views.__init__.py
6. In urls.py you can then say ...
import appname.views as appname_views
... if that's not what you do already!
--
(Unsigned mail from my phone)