title: Manual webapp in pythonanywhere.com using python3.8 and django3.1
body: <p><strong>Background</strong></p>
  <p>I have a free account at pythonanywhere.com. My thanks to them for providing this very nice free service and learning experience.</p>
  <p>To the PythonAnywhere folks who encourage me to use StackOverflow for questions about their site, I'll first say that I really like what you all have done with that site, and I'm excited to start building something there myself.</p>
  <p>I've already done the first tutorial within pythonanywhere.com with Flask and a second simple webapp (that I adapted from your first tutorial) exactly the same but using your built-in django 2.2 in place of Flask.</p>
  <p>Now I'm trying a tutorial from another site using python 3.8 and django 3.1.</p>
  <p>I'm following along in Chapter 2 of the djangoforbeginners.com site (<a href="https://djangoforbeginners.com/hello-world/" rel="nofollow noreferrer">helloworld app</a>) and trying to implement instructions there in my pythonanywhere.com account. I know I need to adapt some of the djangoforbeginners.com instructions to fit the pythonanywhere.com environment (e.g. <code>pipenv</code> didn't work, but <code>pip install django~=3.1.0</code> did work).</p>
  <p>(This is not my main question, but an example of the problems I expect to encounter adapting a tutorial from another site to the pythonanywhere.com environment) I encountered a problem with the <code>python manage.py runserver</code> step:</p>
  <p>When I run the code above, I see the following error at the bash console:</p>
  <pre><code>Watching for file changes with StatReloader
  Performing system checks...
  System check identified no issues (0 silenced).
  You have 18 unapplied migration(s). Your project may not work properly until you apply the migrations for app(s): admin, auth, contenttypes, sessions.
  Run 'python manage.py migrate' to apply them.
  August 13, 2020 - 20:33:32
  Django version 3.1, using settings 'config.settings'
  Starting development server at http://127.0.0.1:8000/
  Quit the server with CONTROL-C.
  Error: That port is already in use.
  </code></pre>
  <p>And that makes sense to me because when I try to visit my webapp at username.pythonanywhere.com, I see a &quot;Coming soon&quot; page (after disabling my webapp in the dashboard; with my webapp enabled in the dashboard Web tab, I see a default &quot;Hello World&quot; page) which I know in both cases means that port is indeed already in use (by the server provided by pythonanywhere.com). So thinking about it a bit after seeing that error, I now think I should not even have attempted this <code>python manage.py runserver</code> step in the pythonanywhere.com environment. Duh! ;)</p>
  <p><strong>So moving on to my real question:</strong></p>
  <p>I've already followed instructions I found at <a href="https://help.pythonanywhere.com/pages/Virtualenvs" rel="nofollow noreferrer">https://help.pythonanywhere.com/pages/Virtualenvs</a> including the part at the end where it reads: &quot;Now that you have a virtualenv, and you know its path, you can go and enter it back in the Web tab.</p>
  <p>Go to the Virtualenv section, and enter the path: /home/myusername/.virtualenvs/myvirtualenv&quot;</p>
  <p>I created my virtual environment using <code>mkvirtualenv virtualenv01py38 --python=/usr/bin/python3.8</code> in pythonanywhere.com's bash console.</p>
  <p>I also added to the Web tab in pythonanywhere.com's dashboard my source code directory for this web app: <code>/home/username/projects/djangoforbeginners.com/ch02helloworld</code></p>
  <p>When I used the dashboard Web tab to reload the web app, I saw this error message: &quot;Your webapp took a long time to reload. It probably reloaded, but we were unable to check it.&quot;</p>
  <p>But instead of the familiar Django welcome page, when I visit my webapp's URL, I see an apparently static html page:
  &quot;Hello, World!
  This is the default welcome page for a PythonAnywhere hosted web application...&quot;</p>
  <p>So my question in general is how to implement the helloworld app from djangoforbeginners.com within the pythonanywhere.com environment?</p>
  <p>And more specifically for now, my question is why I'm not seeing the familiar Django welcome page shown at <a href="https://djangoforbeginners.com/hello-world/" rel="nofollow noreferrer">djangoforbeginners.com</a> in the first image, and how to continue to move forward past the <code>python manage.py runserver</code> step when I am apparently seeing pythonanywhere.com serve up its default hello world webapp (apparently just a static html page) instead of the django 3.1 hello world app that I'm trying to get it to serve up from the djangoforbeginners.com tutorial?</p>
  <p>Thanks in advance for any suggestions.</p>