Using your own domain name

I'm trying to configure my account to use one of my own domain names, and currently i'm not having much luck. I purchased the name through on their site in the control panel under host management -> URL Forwarding, I have set up a CNAME using Then on the PAW Web tab of the control panel I have entered which is the domain name I am attempting to use. I have given it 24 hours since I made the change and it still is not pointing to the right place. So I am looking for input from the great ascii snake in the clouds (or anyone else that can point out my error).

Thanks, Jarrod

Hey. Thanks for pointing that out. It was a bug in our handling of usernames with mixed case. I've fixed it and it should all be working now.

It is indeed working now. Thanks!

where to find this guide for config domain?

Hi ta2013 -- it looks like you figured it out, but just for anyone else browsing the forums -- once you've upgraded to a Hosting or Pro account, you'll see a new form at the bottom of the Web tab where you can give us the domain name(s) you want to host, along with instructions on how to configure your DNS settings to make it all work.

  • [Admin note] You cannot change the domain name of an existing web app. You need to create a new one. There are instructions on how to create a new web app that mirrors an existing one at the bottom of this Help page.

  • [Later admin note] ... And now you can change the domain name of an existing web app. More information here.

Hi I was wondering if it's possible to use Google Mail servers with our custom domain. If so, could you point me to where I can get info on doing this?

Thank you


Hi Adrian,

Yes it is certainly possible to do that. You configure your domain so that a CNAME record for is pointing at PythonAnywhere and then you point your MX server record at the Google mail servers which can be found here:

If you're using Google to provide email for your domain, you might also consider using the full Google Apps suite. You retain full control of your domain's DNS records, but effectively Google provide a single-sign-on for their services like Gmail, calendar, docs and so on all hosted under your domain. As long as you only have a few users it's totally free.

You retain full control of your domain, of course, so you can still create CNAME records pointed to PA or any other hosting you happen to use. I find it a convenient interface for my email, contacts and calendar, to keep it all synched between my desktop and iPhone.

That's good advice. I use Google Apps for my personal email, too. The level of control that I have is far greater than if I was just hosting my email with a service and ease is much higher than if I was running my own email server.

I just wish they didn't make so many assumptions for us like we want to block all exe attachments. At least I assume they do that. I haven't used them for just such a reason.

You're correct, the same restrictions on attachments apply to Apps email addresses as to normal Gmail ones. I've just done a quick test (using a text file with a .exe extension) and their SMTP server refuses to accept the email for either send or receive.

While I can certainly see how you might find this annoying if you have cause to email executable attachments (I never have myself!), I can also see Google's side in blocking them - the relatively tiny number of legitimate cases for it is quite outweighed by the malware risk when dealing with novice users. Being a US company, the risk of litigation if they fail to protect users from themselves is probably never far from their mind.

If you're talking more from a matter of principles, that you don't want a third party determining how you use your email, then I also have some sympathies. Having gone the extreme route of administrating my own mail server for a number of years for much the same reasons, however, I eventually decided that it just wasn't worth my time any more - I ended up caring more about saving my own time than getting a perfect service.

I'm probably just getting jaded in my thirties... (^_^)

@Cartroo Thanks for running the tests. I don't mind that they want to protect novice users. My real issue is that they don't do it in a more sane way, such as with an extreme warning or with a setting that allows you to bypass the restriction of you wish.

And just like you I struggle with how I want to handle this situation. Letting someone else willing to do my admin for free does make good sense as long as I like the product they are delivering. Also, proper email server admin in the current climate is becoming more and more of a pain. What use is it to have exe attachment support if you can't send it to anyone...☺

Generally the only time I send exe's is when I want to create a self extracting archive for some novice. That way I don't get stuck doing tech support on how to use an archive. Of course this is no use in a world where you can't just send them the exe in a simple way. I usually end up hosting said exe and then just emailing a link to said novice user.

I better stop now. I just realized I'm typing away, but not really providing anyone here on PA any benefit.

Maybe when you get to your forties you'll discover a utopian answer that solves every issue...☺

Hello all, First I want to say that in case there was any doubt PA is great and seems to be getting better. So great in fact that I opened another account. I seem to be having an issue again with the CNAME URL forwarding. I am using I know last time there was an issue with the mixed case user name, guess I am in the habit of making usernames that way as I did it again. Could you guys take a look and see if that is the issue?

Thanks, Jarrod

Hi Jarrod -- thanks for getting a second account! :-)

I think the problem you have now is because you've set up PythonAnywhere to host on the "Web" tab, but the CNAME is for If you change the domain settings in PythonAnywhere to include the www then everything should work fine.

Sure enough that fixed it. Maybe when I end up opening a third account I will get it right on the first try haha.

Thanks, Jarrod

Hi all,

I also experiance some issues setting up my own domain with a PRO account. On friday I changed the CNAME for to But something must be wrong, since the forwarding still doesn't work.

CNAME: | Piont: | TTL: 24 hrs

What did I miss?

It looks like its working. DNS can take time to update and the various network layers usually cache DNS lookups. So it's entirely possible that you're just seeing what your machine or browser has cached.

Thanks for the help! I tried dnsflush, but it might be cached on another layer.

I double-checked just now and it's definitely working from our little corner of the Internets -- I hit from my browser and saw a request come through our infrastructure and hit your webapp, and I got your page on my screen.


I started to develop my project originally under the domain. Later on I was pointing my own domain to pythonanywhere so that I can use it for the project. As described in the instructions I created a new project and and pointed the project_home directory to the original project in the file. So far everything is working fine.

However whenever I continue to develop my web app the changes I make are not immediately taking affect under my own domain. I found out that I always have to save the file (without changing anything in the file) first to see the changes.

Is this normal?

Yes. Saving the wsgi file reloads the web app. You can avoid that, by just reloading the web app yourself.

Hi there,

i can not get the Domain CNAME working its not redirecting to the pythonanywhere server. Here is how i set it up at my domain registrar. @ IN A <ip of wwwizer> localhost IN A loopback IN CNAME localhost www IN CNAME

I can visit but www.<mydomain>.<XX> is not working. Can someone help me ?

Did you check that the change had fully propagated?


I have a problem with displaying my own domain.

I bought my own domain, then in 1. add new web -> 2. Python3.4 -> manual configuration 3. Bush: git clone https://ect.
4. Correct my virtualenv -> configure wsgi

Then in my domain provider i put: 1. Hostname: www 2. Type: CNAME 3. Value: 4. TTL: 60 5. Saved it

Then I realoaded my web and: "You do not have a CNAME set up for your domain. Check this help page for more information about how to set it up correctly."

Well, where is the problem?

Hi there, it looks like you've entered "" instead of "" as your domain name -- you should delete your web app config entry and create a new one, including the www.

There's more info about getting naked domains working here.

You fixed it man! Thanks a lot! :)

Hi everyone,

I have the same problem, i do the same thing of the "amator" and i enter as my domain name and nothing i have a domain of kinghost and when access my domain i receive a bad request (400). so... someone can help me?

You just needed to wait for awhile. When you set your CNAME that takes multiple minutes to propagate across the internet.

I use the tools to see if my dns already propagate.. my problem was in the i forget of the allow my host to access. When i put it work. But past 30 minutes my site give me error 404 a see that when access they try access my old app in pythonanywhere in address but i dont change anything what can happend? work for a instant and then stop work :(

Are you talking about the webapp associated with your current account osvaldomarquescontabil?

When I access it now it works fine? Maybe your browser is caching?

hum strange i will try again and clear cache now.. how address you use to access my webapp?


yes my friends it was cache.. now work fine thanks

hey PA gods. I've expanded my account to have several web apps. Having registered and assigned it in Chile's registry, I fail to see my test website on the URL after a day. Can you provide any help? Thanks!

Hi sergiolucerovera,

Is where you bought your domain name/where you can set up cnames?

If you look at this it just seems like your cname isn't setup yet.

Hi I'm Calvina

I'm new in django and I upgraded from free to paid hosting here at python-anywhere . Now i'm having trouble setting my custom domain name I bought from eHosts : May you kindly assist me on how I can set my custom domain name the right way, which one should I put into my file at allowed host is it : custom domain name ( or the ?

You should set or to allowed hosts. not webapp-xxxx.

But to setup the cname stuff, you need to set that from your domain registrar, not just the allowed hosts in django

See here for details about setting up the cname. I'd recommend using and not

Thank you for the reply here but I'm sorry im still having a problem after even setting the CNAME at the domain name registrar like this:


TTL: 14400

Class: IN



This at eHost CNAME setup :Why do I still get this error when I hit reload my app

There is a problem with your domain name configuration. Take a look at the DNS setup section below for details. Be aware that DNS changes can take some time to propagate across the internet. The exact time they take will depend on your domain configuration, but it could be as long as a day.

That's because you have a ttl of 14400. That's 4 hours till your changes go through.


I have purchased a domain name through and as pointed out in your walk throught section I added a CNAME record pointing to However although it has been a while, The site still gets redirected back to GoDaddy adverts. Am I skipping a step here? Is the CNAME the only attribute we need to upload to our domain management system ?

The CNAME is the only thing you need to set up yes. It should point from "" --> "". You may need to click "activate" or "confirm" or something on the godaddy pages? our help page on own domains has a link to the right help page on the godaddy site...

If you do figure out what went wrong, would you post it here, if you think it might help others?

Hi PythonAnywhere Community,

I have solved the issue. Firstly it can take a while for the dns to propagate. Secondly one should hit the reload 'website' button. I have my website up and running (also make sure that you add the new website name to the allowed hosts for django projects.)

Second issue I faced was that direct access i.e. still redirected to GoDaddy pages. I updated the dns settings changing it to redicted naked domains to

Best Regards


Glad you figured it out!

Incidentally, re waiting for propagation, if your DNS registrar will let you, change the "TTL" setting. As low as 10 minutes is just fine...

Hi Python's Community,

my question is long and complicated so I'll try to be short and clear :)

I have domain '' at I loaded all the files of my web at and then try to set my own domain name (I mean ''). I done it several times so I know how to do it ;)

BUT! The server I have the domain has also mailing box which I need leave at And the problem is that it is somehow connected. If I want to provide CNAME they tell me that I loose the mailing box if I do it. So, I CAN'T use CNAME. I was trying to use IP adress, but it doesn't work. I was trying to use .htaccess but it doesn't work. Hmmmmm

Any idea? :)

Hi there, there's no theoretical reason that I know of that would mean that using a CNAME would mean you can't keep your email (MX) setup exactly the same. Maybe double-check with your registrar? And if they are really being difficult about this, I recommend changing registrar!

PS - make sure you are setting the CNAME for "" (on some registrars that will just be "www"), and the target should be "". You do not need to set up anything for the root domain, "" (which is where the MX records are set).

Hi there,

thanks for your tips. Unfortunately I can't use CNAME. It's confirmed. Sorry guys :/

The funny thing is that I introduced in my ALLOWED_HOST = [''] and if you tape '' in the browser it's working. But if you tape '' it didn't work :> So I'm trying to use .htacces file to redirect from '' to ''. But I even do not know if it's possible in Django1.10/Python3.5 :> Above that I'm not super familiar with .htacces, maybe you are more experienced? :) Just look at my code:

RewriteEngine On RewriteCond %{HTTP_HOST} ^(www.)?$ [NC] RewriteCond %{REQUEST_FILENAME} !/toole/ RewriteRule ^(.*)$ /toole/$1 [L]

and the position:


I know it is against PythonAnywhere philosophie, but what I can do? I have a domain at and I need to use it. Guys, any idea?

PS. at I redirect '' type A to IP of '' which is:

Where did you host your domain name???

Now that you've got "" working, if you also want to get the "naked" domain (just "") working as well, we have a help page for that:

Hi Pythonanywhere Community

Im going to move to godady for domain name hosting : Kind can any one show me how to record cname at godady please if example my domain name is and cname given at pyhtonanywhere is Thank you in advance

Our help page for setting up domains includes a link to the right place in the godaddy documentation:

Thank you for your swift reply harry , let me check it out just right now

I fixed my problem by using

Thank you guys for your's helpfull tips.

Have a nice day.

:-) Glad you got it working.

Hi, Sir I am trying to configure my application to use my custom domain, but to no avail. I am using value domain for my custom domain.

When I used it for google, I had settings as following:

cname googleffffffffbfxxxxxx
cname www
cname mail

and etc.

Now I want to set for

CNAME: as Web tab described.

I tried




(with a period at the END)


cname webapp-xxxxxx

(replace the period with a SPACE before pythonanywhere)


cname www
cname www


cname webapp-xxxxxx

cname www

cname chatbot

gives in CNAME lookup tool. and pythonanywhere gives "no such forward entry".

Thanks for any suggestion.


[edit by admin: formatting]

I think the custom domain setting problem is solved.

For who concerns:

cname webapp-xxxxxxxx

cname www

cname chatbot

I believe the second one of those is the correct one. When you're setting up DNS entries for your domain, you can set it up for any subdomain. So if you own then the line

cname foo

means "create a CNAME for pointing to". You wanted to point to, which is what the second line does.


I have tried connecting my own domain with my existing web app. The domain is on GoDaddy. In the CNAME creation, I've written TYPE: CNAME, Name: www, Value: and TTL: 1hr. In the Pythonanywhere "Web" section, I had already renamed my webapp to

Is the process correct, because the site is giving a "site can't be reached error"?

edit Now it is going to the Coming soon page of Pythonanywhere, when I go to and redirects to

The first error was probably because TTL: 1hr meant that it takes awhile for your GoDaddy changes to come into effect.

For this second problem- could it be that your site say does a redirect to a login page etc, and you have hard coded the redirect to say

The evidence for this is that if you go to your access logs after you try to go to your website, you will see that it actually shows up as a hit on your custom domain website. So that means that requests are being delivered to your website, and your source code being run probably responded with a redirect.

Thanks for the help. I had a redirect set on the default domain which was the problem.

Glad you worked it out!

Hello everyone,

I uploaded my site yesterday on pythonanywhere. I had an address like My website was working.

I bought my domain name on google ( and I upgraded yesterday to the Hacker pack of pythonanywhere.

I followed the instruction as mentioned in the doc, creating a new web app pointing to

I added the address provided by pythonanywhere ( to google domains so that when entering it would redirect to my app.

It 's been already 24 hours, and it is not working. after checking on the for the domain propagation it seems to be propagated already..

Is there something I am doing wrong?

Thanks for your help

According to, (I'll omit the exact domain to protect your privacy) is still pointing to a Google site -- you'll see an error reflecting that on the "Web" page. If you're having trouble configuring Google's DNS system to point to PythonAnywhere, send us a screenshot of your settings (either posting it here if it's not private, or via email to if it is) and we'll help you out.

please, I really need an urgent assistant. I bought a customed domain from which is I tried setting up the CName but this is the message I get; There is a problem with your domain name configuration. Take a look at the DNS setup section below for details. Be aware that DNS changes can take some time to propagate across the internet. The exact time they take will depend on your domain configuration, but it could be as long as a day. And: Your domain's current CNAME is Check this help page for more information about how to set it up correctly.

please someone should assist me

I need assistance, please

It sounds like your CNAME isn't set up correctly. Could you send us a screenshot of your DNS configuration page to

I have responded please kindly reply

We've replied over email.

Hello, I purchased a domain from godaddy ( and tried to point it to my webapp in pythonanywhere. CNAME for my app is provided Then I went to godaddy site to configure my cname. There I found two fields to fill, 'Host' and 'Points To'. I filled 'Host' with and 'Points To' field with '@' and after saving my fields a table updated 'Name' column with '' and 'Value' column with '@'. Did I do something wrong or what? coz my domain still doesn's point to my webapp. It still throws the message "You do not have a CNAME set up for your domain. Check this help page for more information about how to set it up correctly." Please give me the solution.

It sounds like you put the fields in the wrong way around -- the "Host" should be "@" and the "Value" should be the value from the "Web" page.

I tried doing that, but 'Host' field is not accepting '@'. It throws error, 'Enter your host name as "@", "sub-domain"'. Am I missing any configuration in Pythonanywhere? It's already been a day and my site still not working. Is there any way to observe propagation progress? I am not sure if I made any mistake on CNAME configuration or it's just my DNS taking time to propagate across internet.

A good way to check propagation progress is What's my DNS -- you enter the hostname for your website into the field at the top, select "CNAME" from the dropdown, and they'll do DNS lookups from a bunch of places around the world and show you the results.

I think I've worked out what's wrong on the GoDaddy side -- you're setting up a CNAME, but you can't have a CNAME for the "naked" domain, only for subdomains like Sorry, I should have spotted that the first time around! (It would also be good if GoDaddy fixed their error message, because if I understand you correctly, you entered "@" and it responded saying "Please enter either '@' or a subdomain" -- which is a pretty confusing error to get when you did enter "@" :-)

What you need to set up is a CNAME record with "Host" set to www and "value" set to the value from the "Web" page. Hopefully their system will accept that. Once that's done, go to the "Web" page on PythonAnywhere, click the pencil icon next to your website's name, and change it from to

I think that if you do that, your site should show up at pretty quickly. Once that's done, you can configure domain forwarding on GoDaddy so that when people go to without the www. at the start, they get redirected to the site with the www.

Thanks a lot @giles. The whole day I was trying to figure out my problem and I actually solved that CNAME part on Godaddy site and also I solved naked domain part by going through the forums above. But I couldn't figure out that I hadn't added 'www' prefix to my web-app. And now you fixed it. Thnks a lot sir. Now my site is working fine.

Excellent! Very glad it's all working now :-)

Hi, I have a Problem with the CNAME. I bought a Domain at Inwx and i create a CNAME at Pythonanywhere. I added the CNAME to Inwx, and when i type now my Domain, i'm getting an Error on the pythonanywhere Page. What could be the problem?

I see you contacted us over email as well -- as there was a screenshot of the DNS configuration in the email, I've replied to that with some suggestions.

I have also upgraded my account and still can't add custom domain in my previous webapp.

Your account looks like it was correctly upgraded, so you should just be able to change the domain at the top of the web app configuration page by clicking on the pencils icon next to it.

hai i bought hacker plan, and i bought the domain in godaddy, i am entered the cname (host:www) (point )and(TTL=1hour) is this correct or not. i had to some error when i am try linking the cname(We were unable to find a CNAME for your domain. Check this help page for more information about how to set it up correctly.) This error will came. can you please replay me as soon as possible

Yes, that sounds like a good setup, though I'd recommend lowering the TTL to five minutes. It can take a while -- in extreme cases up to 24 hours -- for DNS changes to propagate across the Internet, so you may need to wait a while for that to happen.