i\'m using Django 1.10 and i want to add the allauth\'s app for login, signin, etc, to my website. I\'ve installed allauth from pip, and tried to put the templates from alla
This worked for me using Django 2.1.7 and django-allauth 0.39.1:
In the folder yourapp/templates/
create a folder named account
so at the end the structure is yourapp/templates/account/
and add all templates that you want to override like login.html
or signup.html
.
In settings.py
my Template Dirs remain the same
'DIRS': [os.path.join(BASE_DIR, 'templates')],
It seems that the documentation of the module is out of date. For Django 1.10 you should do the following:
'django.contrib.sites', # first place
'allauth', # after your modules declarations
'allauth.account',
'allauth.socialaccount',
AUTHENTICATION_BACKENDS = ( 'django.contrib.auth.backends.ModelBackend', 'allauth.account.auth_backends.AuthenticationBackend', ) SITE_ID = 1 ACCOUNT_EMAIL_REQUIRED = True ACCOUNT_USERNAME_REQUIRED = True
seems that for django 1.10 is not needed to modify TEMPLATES section (django-allauth==0.28.0). You can verify the modules versions using the "pip freeze" command.
create an artificial module to override the templates; for example, my project is named irj_app and I've add a new application called _shared, then i have the following structure, and add it to INSTALLED_APPS before 'allauth' declarations :
irj_app / _shared
irj_app / _shared / templates / base.html
irj_app / _shared / templates / account / base.html
irj_app / _shared / templates / account / signup.html
irj_app / _shared / templates / _shared / adminlte-template / ... (template for other modules)
hope it helps
Well, i was just able to do it.
I didn't know where these templates were but i found that, in my case (i'm using virtual env):
Envs/myproject/Lib/site-packages/allauth/templates
i modified the base.html and added my static folder with all my bootstrap stuff and jquery to the settings in the file:
app_settings.py
and added this.
...
import os
BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
STATIC_URL = '/static/'
STATICFILES_DIRS = [
os.path.join(BASE_DIR, "static"),
]
And that's all.
I don't know if this is the propper way to do it but if someone have a better answer please post it.
In django-allauth==0.36.0
git clone https://github.com/pennersr/django-allauth
cd django-allauth/allauth/templates/account
Official Link
Try This:
Create account directory in your app's template dir so that it looks like below
yourppname/templates/account
and files
yourppname/templates/account/login.html
yourppname/templates/account/signup.html
and add below to your TEMPLATE DIRS Remember to change yourappname to your app's name
os.path.join(BASE_DIR, 'yourappname', 'templates')
TEMPLATES = [
{
'BACKEND': 'django.template.backends.django.DjangoTemplates',
'DIRS': [os.path.join(BASE_DIR, 'yourappname', 'templates')],
'APP_DIRS': True,
'OPTIONS': {
'context_processors': [
'django.template.context_processors.debug',
'django.template.context_processors.request',
'django.contrib.auth.context_processors.auth',
'django.contrib.messages.context_processors.messages',
],
},
},
]
The correct answer can be found here: https://stackoverflow.com/a/31282443/4992248
yourproject/templates/allauth/account/
and paste here all templates you need to edit from /myproject/Lib/site-packages/allauth/templates/account
.If you need to make changes for socialaccount
templates, create also yourproject/templates/allauth/socialaccount/
'DIRS'
in settings.py
like 'DIRS': [os.path.join(BASE_DIR, 'templates'), os.path.join(BASE_DIR, 'templates', 'allauth')],
At the end it should look somethink like this:
TEMPLATES = [
{
'BACKEND': 'django.template.backends.django.DjangoTemplates',
'DIRS': [os.path.join(BASE_DIR, 'templates'), os.path.join(BASE_DIR, 'templates', 'allauth')],
'APP_DIRS': True,
'OPTIONS': {
'debug': False,
'context_processors': [
'django.template.context_processors.debug',
'django.template.context_processors.request',
'django.template.context_processors.media',
'django.contrib.auth.context_processors.auth',
'django.contrib.messages.context_processors.messages',
],
},
},
]
/Lib/site-packages/*
, because all changes are lost once a package is updated.