I have been working on the issue of duplicate labels in Django and from this answer I have added the following files to my "jobs" project folder:
jobs/apps.py
# jobs/apps.py
from django.apps import AppConfig
class JobsConfig(AppConfig):
name = 'jobs'
verbose_name = "jobs2"
jobs/init.py
# jobs/__init__.py
default_app_config = 'jobs.apps.JobsConfig'
This hasn't really helped much and I still get the error when trying syncdb:
"duplicates: %s" % app_config.label)
django.core.exceptions.ImproperlyConfigured: Application labels aren't unique, duplicates: jobs
Also, changing from "name = 'jobs'" to "name = 'jobs2'" just gives me the error:
ImportError: No module named jobs2
File Structure
/opt/Webapp
├── userfiles
├── templates
│ └── admin
│ └── base.html
├── static
│ ├── admin_tools
│ │ ├── images
│ │ │ └── apto.gif
│ │ └── css
│ │ └── theming.css
│ └── admin
│ └── css
│ └── base.css
├── smartrecruitment
│ ├── wsgi.py
│ ├── urls.py
│ ├── settings.pyc
│ ├── settings.py
│ ├── __init__.pyc
│ └── __init__.py
├── requirements.txt
├── manage.py
├── jobs
│ ├── views.py
│ ├── urls.py
│ ├── tests.py
│ ├── testhelpers.py
│ ├── templates
│ │ └── jobs
│ │ ├── test.html
│ │ ├── success.html
│ │ ├── registration.html
│ │ ├── registrationcomplete.html
│ │ └── application.html
│ ├── tables.py
│ ├── static
│ │ └── jobs
│ │ ├── styles
│ │ │ ├── index.css
│ │ │ ├── hide_admin_original.css
│ │ │ └── application.css
│ │ ├── style.css
│ │ └── images
│ │ └── apto.gif
│ ├── models.py
│ ├── migrations
│ │ ├── __init__.py
│ │ ├── 0002_auto__del_field_registrant_name__add_field_registrant_first_name__add_.py
│ │ └── 0001_initial.py
│ ├── lists.py
│ ├── __init__.pyc
│ ├── __init__.py
│ ├── forms.py
│ ├── apps.pyc
│ ├── apps.py
│ └── admin.py
├── fileuploads
│ ├── tests.py
│ ├── templates
│ │ └── fileuploads
│ │ ├── index.html
│ │ ├── details.html
│ │ ├── base.html
│ │ └── add.html
│ ├── models.pyc
│ ├── models.py
│ ├── __init__.pyc
│ ├── __init__.py
│ ├── forms.pyc
│ ├── forms.py
│ ├── context_processors.py
│ └── admin.pyc
├── dashboard.pyc
└── dashboard.py
You have a mix of old-style (south: 0002_auto_del...) and new-style (django: 0001_initial) migrations in your jobs app. Easiest fix would be to delete all numbered migrations rm jobs/migrations/0???_*.py* and recreate migrations by running manage.py makemigrations
Related
I am trying to deploy a Django application using the default SQLite database to Elastic Beanstalk. The application works fine locally, however, on server, I get the error as :
Any idea what's wrong? Can we not deploy SQLite app on AWS EBS?
Here is my project structure that is getting deployed
├── .ebextensions
│ ├── django.config
├── app
│ ├── __init__.py
│ ├── admin.py
│ ├── apps.py
│ ├── migrations
│ │ ├── 0001_initial.py
│ │ ├── __init__.py
│ ├── models.py
│ ├── static
│ │ └── app
│ │ ├── app.js
│ │ ├── logo.svg
│ │ └── style.css
│ ├── templates
│ │ └── app
│ │ ├── hello.html
│ │ ├── index.html
│ │ └── job_detail.html
│ ├── tests.py
│ ├── urls.py
│ └── views.py
├── db.sqlite3
├── env
│ ├── All Virtual env related files
├── images
│ ├── Photo_on_5-9-14_at_2.31_PM.jpg
│ ├── Photo_on_5-9-14_at_2.32_PM.jpg
│ └── Photo_on_5-9-14_at_2.32_PM_v4McLzE.jpg
├── myproject-test
│ ├── __init__.py
│ ├── asgi.py
│ ├── settings.py
│ ├── urls.py
│ └── wsgi.py
├── manage.py
├── requirements.txt
├── staticfiles
│ |-- All static files collected using collectstatic
│ ├── app
│ │ ├── app.js
│ │ ├── logo.svg
│ │ └── style.css
│ └── subscribe
│ ├── email-icon.png
│ ├── main.css
│ └── main.js
├── subscribe
│ ├── __init__.py
│ ├── admin.py
│ ├── apps.py
│ ├── form.py
│ ├── migrations
│ │ ├── 0001_initial.py
│ │ ├── 0002_subscribe_option_alter_subscribe_email_and_more.py
│ │ ├── 0003_alter_subscribe_option.py
│ ├── models.py
│ ├── static
│ │ └── subscribe
│ │ ├── email-icon.png
│ │ ├── main.css
│ │ └── main.js
│ ├── templates
│ │ └── subscribe
│ │ ├── subscribe.html
│ │ └── thank_you.html
│ ├── tests.py
│ ├── urls.py
│ └── views.py
├── templates
│ └── base.html
├── upload
│ └── images
│ ├── Photo_on_5-9-14_at_2.31_PM.jpg
│ └── Photo_on_5-9-14_at_2.31_PM_3.jpg
└── uploads
├── __init__.py
├── admin.py
├── apps.py
├── forms.py
├── images
│ └── Photo_on_5-9-14_at_2.31_PM_3.jpg
├── migrations
│ ├── 0001_initial.py
│ ├── 0002_uploadfile.py
│ ├── 0003_alter_uploadfile_file.py
│ ├── __init__.py
├── models.py
├── templates
│ └── uploads
│ ├── add_file.html
│ └── add_image.html
├── tests.py
├── urls.py
└── views.py
Deployment process:
Zip all the necessary files
Create AWS EBS application with Python
Add environment variables
Create app and access URL
Please help.
I'm trying to use Black to format my Django code. It works fine in most directories. However, I get the Unicode decode error UnicodeDecodeError: 'utf-8' codec can't decode byte 0xff in position 0: invalid start byte on the .py files in one directory in particular. The files are in UTF-8, but I have tried multiple different other encodings and have tried deleting and recreating files which hasn't resolved the issue. I'm working in an Anaconda environment, but deactivating that doesn't make any difference. I've also disabled most of my VS Code extensions.
I have looked at many SO postings on this, but none of the suggestions thus far have helped. I'm using VS Code on a Mac and have a feeling it is something to do with the fact that in the past I have edited the same code on a Windows machine using VS Code with WSL (code synced with a GitHub repo), but can't figure out how to address it. I've put a sample Traceback call below. Any help would be much appreciated!
Edit: If I cut and paste any of the files into another directory, then Black works fine and I don't get any encoding error messages. Which suggests there may be a directory-level issue at play?
(base) ➜ healthtic git:(master) ✗ black pages/views.py
Traceback (most recent call last):
File "/Users/jh/opt/anaconda3/bin/black", line 8, in <module>
sys.exit(patched_main())
File "/Users/jh/opt/anaconda3/lib/python3.8/site-packages/black/__init__.py", line 1130, in patched_main
main()
File "/Users/jh/opt/anaconda3/lib/python3.8/site-packages/click/core.py", line 829, in __call__
return self.main(*args, **kwargs)
File "/Users/jh/opt/anaconda3/lib/python3.8/site-packages/click/core.py", line 782, in main
rv = self.invoke(ctx)
File "/Users/jh/opt/anaconda3/lib/python3.8/site-packages/click/core.py", line 1066, in invoke
return ctx.invoke(self.callback, **ctx.params)
File "/Users/jh/opt/anaconda3/lib/python3.8/site-packages/click/core.py", line 610, in invoke
return callback(*args, **kwargs)
File "/Users/jh/opt/anaconda3/lib/python3.8/site-packages/click/decorators.py", line 21, in new_func
return f(get_current_context(), *args, **kwargs)
File "/Users/jh/opt/anaconda3/lib/python3.8/site-packages/black/__init__.py", line 411, in main
sources = get_sources(
File "/Users/jh/opt/anaconda3/lib/python3.8/site-packages/black/__init__.py", line 477, in get_sources
gitignore = get_gitignore(root)
File "/Users/jh/opt/anaconda3/lib/python3.8/site-packages/black/files.py", line 123, in get_gitignore
lines = gf.readlines()
File "/Users/jh/opt/anaconda3/lib/python3.8/codecs.py", line 322, in decode
(result, consumed) = self._buffer_decode(data, self.errors, final)
UnicodeDecodeError: 'utf-8' codec can't decode byte 0xff in position 0: invalid start byte
Further edit: As mentioned above if I move files out of this directory, Black works fine, if I move them back (without any changes), the 0xFF unicode error recurs. I have attached my directory structure below, as it may be relevant that I have webpack and node modules in there for some of the frontend. My impression is that maybe a BOM may be being added somehow in the directory?
├── Dockerfile
├── accounts
│ ├── __init__.py
│ ├── __pycache__
│ ├── admin.py
│ ├── apps.py
│ ├── forms.py
│ ├── migrations
│ ├── models.py
│ ├── tests.py
│ ├── urls.py
│ └── views.py
├── appointments
│ ├── __init__.py
│ ├── __pycache__
│ ├── admin.py
│ ├── apps.py
│ ├── forms.py
│ ├── migrations
│ ├── models.py
│ ├── tests.py
│ ├── urls.py
│ └── views.py
├── cloud_sql_proxy
├── cloudmigrate.yaml
├── config
│ ├── __init__.py
│ ├── __pycache__
│ ├── asgi.py
│ ├── basesettings.py
│ ├── settings.py
│ ├── urls.py
│ └── wsgi.py
├── db.sqlite3
├── docker-compose.yaml
├── front-end
│ ├── App\ copy.js
│ ├── App.js
│ ├── index\ copy.js
│ └── index.js
├── logfile
├── manage.py
├── node_modules
│ ├── #babel
│ ├── #discoveryjs
│ ├── #types
│ ├── #webassemblyjs
│ ├── #webpack-cli
│ ├── #xtuc
│ ├── acorn
│ ├── ajv
│ ├── ajv-keywords
│ ├── ansi-styles
│ ├── babel-loader
│ ├── babel-plugin-dynamic-import-node
│ ├── babel-plugin-polyfill-corejs2
│ ├── babel-plugin-polyfill-corejs3
│ ├── babel-plugin-polyfill-regenerator
│ ├── big.js
│ ├── browserslist
│ ├── buffer-from
│ ├── call-bind
│ ├── caniuse-lite
│ ├── chalk
│ ├── chrome-trace-event
│ ├── clone-deep
│ ├── color-convert
│ ├── color-name
│ ├── colorette
│ ├── commander
│ ├── commondir
│ ├── convert-source-map
│ ├── core-js-compat
│ ├── cross-spawn
│ ├── debug
│ ├── define-properties
│ ├── electron-to-chromium
│ ├── emojis-list
│ ├── enhanced-resolve
│ ├── envinfo
│ ├── es-module-lexer
│ ├── escalade
│ ├── escape-string-regexp
│ ├── eslint-scope
│ ├── esrecurse
│ ├── estraverse
│ ├── esutils
│ ├── events
│ ├── execa
│ ├── fast-deep-equal
│ ├── fast-json-stable-stringify
│ ├── fastest-levenshtein
│ ├── find-cache-dir
│ ├── find-up
│ ├── function-bind
│ ├── gensync
│ ├── get-intrinsic
│ ├── get-stream
│ ├── glob-to-regexp
│ ├── globals
│ ├── graceful-fs
│ ├── has
│ ├── has-flag
│ ├── has-symbols
│ ├── human-signals
│ ├── import-local
│ ├── interpret
│ ├── is-core-module
│ ├── is-plain-object
│ ├── is-stream
│ ├── isexe
│ ├── isobject
│ ├── jest-worker
│ ├── js-tokens
│ ├── jsesc
│ ├── json-parse-better-errors
│ ├── json-schema-traverse
│ ├── json5
│ ├── kind-of
│ ├── loader-runner
│ ├── loader-utils
│ ├── locate-path
│ ├── lodash
│ ├── lodash.debounce
│ ├── loose-envify
│ ├── make-dir
│ ├── merge-stream
│ ├── mime-db
│ ├── mime-types
│ ├── mimic-fn
│ ├── minimist
│ ├── ms
│ ├── neo-async
│ ├── node-releases
│ ├── npm-run-path
│ ├── object-assign
│ ├── object-keys
│ ├── object.assign
│ ├── onetime
│ ├── p-limit
│ ├── p-locate
│ ├── p-try
│ ├── path-exists
│ ├── path-key
│ ├── path-parse
│ ├── pkg-dir
│ ├── punycode
│ ├── randombytes
│ ├── react
│ ├── react-dom
│ ├── rechoir
│ ├── regenerate
│ ├── regenerate-unicode-properties
│ ├── regenerator-runtime
│ ├── regenerator-transform
│ ├── regexpu-core
│ ├── regjsgen
│ ├── regjsparser
│ ├── resolve
│ ├── resolve-cwd
│ ├── resolve-from
│ ├── safe-buffer
│ ├── scheduler
│ ├── schema-utils
│ ├── semver
│ ├── serialize-javascript
│ ├── shallow-clone
│ ├── shebang-command
│ ├── shebang-regex
│ ├── signal-exit
│ ├── source-list-map
│ ├── source-map
│ ├── source-map-support
│ ├── strip-final-newline
│ ├── supports-color
│ ├── tapable
│ ├── terser
│ ├── terser-webpack-plugin
│ ├── to-fast-properties
│ ├── unicode-canonical-property-names-ecmascript
│ ├── unicode-match-property-ecmascript
│ ├── unicode-match-property-value-ecmascript
│ ├── unicode-property-aliases-ecmascript
│ ├── uri-js
│ ├── v8-compile-cache
│ ├── watchpack
│ ├── webpack
│ ├── webpack-cli
│ ├── webpack-merge
│ ├── webpack-sources
│ ├── which
│ ├── wildcard
│ └── yocto-queue
├── notes.md
├── package-lock.json
├── package.json
├── pages
│ ├── __init__.py
│ ├── __pycache__
│ ├── admin.py
│ ├── apps.py
│ ├── migrations
│ ├── models.py
│ ├── tests.py
│ ├── urls.py
│ └── views.py
├── patient
│ ├── __init__.py
│ ├── __pycache__
│ ├── admin.py
│ ├── apps.py
│ ├── migrations
│ ├── models.py
│ ├── serializers.py
│ ├── tests.py
│ ├── urls.py
│ └── views.py
├── patientinfo
│ ├── __init__.py
│ ├── __pycache__
│ ├── admin.py
│ ├── apps.py
│ ├── migrations
│ ├── models.py
│ ├── tests.py
│ ├── urls.py
│ └── views.py
├── readme.md
├── requirements.txt
├── static
│ ├── css
│ ├── images
│ ├── index-bundle.js
│ ├── index-bundle.js.LICENSE.txt
│ └── js-bundle.js
├── staticfiles
│ ├── admin
│ ├── css
│ └── images
├── templates
│ ├── _base.html
│ ├── account
│ ├── appointments
│ ├── frontend.html
│ ├── hello_webpack.html
│ ├── home.html
│ ├── patient
│ └── patientinfo
├── todos.md
└── webpack.config.js
Turns out it was my .gitignore file that was encoded in UTF-16 that was the problem. This seemed to stop Black from working in the whole directory. When I moved all of my files to another directory, I only moved the visible files (so not .gitignore), hence the unusual behaviour. Changing the .gitignore to UTF-8 solved the problem.
I don't even know what django is, but I had the same problem in a non-django program.
In that code fragment was the problem that now is fixed:
open(document.txt, mode= "r", encoding="utf8")
As you can see, the encoding it's utf8, without the "-". I used that code to open documents and read it. I hope it'll be useful!
I'm working on a site in django that is actually in production. I'm trying to run it in local but i get the error: cannot import name settings when i try to access the main page.
This page use the bbcode apps that's correctly installed but that I suspect to be the source of my problem (pages without bbcode work well).
First, as asked here is the hierarchy of my project. Files with a ~ at the end are temporary files created by emacs, so don't pay attention to them. The correct settings.py is the one in /jdrpoly/, The other one was a test to see if it was helping
├── bbcode
│ ├── bbtags
│ │ ├── advanced.py
│ │ ├── advanced.pyc
│ │ ├── brainfuck.py
│ │ ├── brainfuck.pyc
│ │ ├── functional.py
│ │ ├── functional.pyc
│ │ ├── __init__.py
│ │ ├── __init__.pyc
│ │ ├── lists.py
│ │ ├── lists.pyc
│ │ ├── smilies.py
│ │ ├── smilies.pyc
│ │ ├── table.py
│ │ ├── table.pyc
│ │ ├── text_formatting.py
│ │ ├── text_formatting.pyc
│ │ └── web.py
│ ├── cli.py
│ ├── fields.py
│ ├── __init__.py
│ ├── __init__.pyc
│ ├── mypygments.py
│ ├── templates
│ │ └── bbcode
│ │ ├── bbhelp.html
│ │ └── bbtag.html
│ ├── templatetags
│ │ ├── bbcode.py
│ │ ├── bbcode.pyc
│ │ ├── __init__.py
│ │ └── __init__.pyc
│ └── views.py
├── events
│ ├── admin.py
│ ├── admin.pyc
│ ├── forms.py
│ ├── forms.pyc
│ ├── __init__.py
│ ├── __init__.pyc
│ ├── migrations
│ │ ├── 0001_initial.py
│ │ ├── 0001_initial.pyc
│ │ ├── __init__.py
│ │ └── __init__.pyc
│ ├── models.py
│ ├── models.pyc
│ ├── tests.py
│ ├── tests.pyc
│ ├── urls.py
│ ├── urls.pyc
│ ├── views.py
│ └── views.pyc
├── jdrpoly
│ ├── __init__.py
│ ├── __init__.pyc
│ ├── settings~
│ ├── settings.py
│ ├── settings.py~
│ ├── settings.pyc
│ ├── urls.py
│ ├── urls.pyc
│ ├── utils
│ │ └── text.py
│ ├── utils.py
│ ├── utils.pyc
│ ├── wsgi.py
│ └── wsgi.pyc
├── LICENSE
├── main
│ ├── admin.py
│ ├── admin.pyc
│ ├── __init__.py
│ ├── __init__.pyc
│ ├── migrations
│ │ ├── 0003_contest.py
│ │ ├── 0003_contest.py~
│ │ ├── 0003_contest.pyc
│ │ ├── 0004_comitymember_mainpagesection_news.py
│ │ ├── 0004_comitymember_mainpagesection_news.pyc
│ │ ├── __init__.py
│ │ └── __init__.pyc
│ ├── models.py
│ ├── models.pyc
│ ├── tests.py
│ ├── tests.pyc
│ ├── urls.py
│ ├── urls.pyc
│ ├── views.py
│ └── views.pyc
├── manage.py
├── members
│ ├── admin.py
│ ├── admin.pyc
│ ├── forms.py
│ ├── forms.pyc
│ ├── __init__.py
│ ├── __init__.pyc
│ ├── migrations
│ │ ├── 0001_initial.py
│ │ ├── 0001_initial.pyc
│ │ ├── 0002_code_member.py
│ │ ├── 0002_code_member.py~
│ │ ├── 0002_code_member.pyc
│ │ ├── 0003_member.py
│ │ ├── 0003_member.pyc
│ │ ├── __init__.py
│ │ └── __init__.pyc
│ ├── models.py
│ ├── models.pyc
│ ├── templates
│ │ ├── base.html
│ │ ├── comity.html
│ │ ├── concours.djhtml
│ │ ├── contact.html
│ │ ├── contact_success.html
│ │ ├── events
│ │ │ ├── attending.djhtml
│ │ │ ├── campaign_delete.djhtml
│ │ │ ├── campaign_detail.djhtml
│ │ │ ├── campaign_list.djhtml
│ │ │ ├── create.djhtml
│ │ │ ├── edition_view.djhtml
│ │ │ ├── list.djhtml
│ │ │ ├── menu_event.djhtml
│ │ │ ├── new_campaign.djhtml
│ │ │ ├── propose.djhtml
│ │ │ └── view.djhtml
│ │ ├── gallery
│ │ │ ├── list.html
│ │ │ └── view.html
│ │ ├── mainpage.html
│ │ ├── members
│ │ │ ├── code.html
│ │ │ ├── code_mail.txt
│ │ │ ├── code_use.html
│ │ │ ├── create.html
│ │ │ ├── edit.html
│ │ │ ├── main.html
│ │ │ ├── password_change.html
│ │ │ ├── password_change_ok.html
│ │ │ ├── password_reset.html
│ │ │ └── view.html
│ │ ├── news
│ │ │ ├── letter.html
│ │ │ ├── letter_ok.html
│ │ │ └── view.html
│ │ ├── registration
│ │ │ └── login.html
│ │ └── svz
│ │ ├── admin.html
│ │ ├── generic.html
│ │ └── index.html
│ ├── tests.py
│ ├── tests.pyc
│ ├── urls.py
│ ├── urls.pyc
│ ├── views.py
│ └── views.pyc
├── pictures
│ ├── admin.py
│ ├── admin.pyc
│ ├── __init__.py
│ ├── __init__.pyc
│ ├── migrations
│ │ ├── 0001_initial.py
│ │ ├── 0001_initial.pyc
│ │ ├── 0002_auto_20150831_1452.py
│ │ ├── 0002_auto_20150831_1452.pyc
│ │ ├── 0003_auto_20161213_2212.py
│ │ ├── 0003_auto_20161213_2212.pyc
│ │ ├── __init__.py
│ │ └── __init__.pyc
│ ├── models.py
│ ├── models.pyc
│ ├── tests.py
│ ├── tests.pyc
│ ├── urls.py
│ ├── urls.pyc
│ ├── views.py
│ └── views.pyc
├── settings.py
├── static
│ ├── assets
│ │ ├── css
│ │ │ ├── font-awesome.min.css
│ │ │ ├── ie8.css
│ │ │ ├── images
│ │ │ │ └── bracket.svg
│ │ │ └── main.css
│ │ ├── fonts
│ │ │ ├── FontAwesome.otf
│ │ │ ├── fontawesome-webfont.eot
│ │ │ ├── fontawesome-webfont.svg
│ │ │ ├── fontawesome-webfont.ttf
│ │ │ ├── fontawesome-webfont.woff
│ │ │ └── fontawesome-webfont.woff2
│ │ ├── js
│ │ │ ├── ie
│ │ │ │ ├── backgroundsize.min.htc
│ │ │ │ ├── html5shiv.js
│ │ │ │ ├── PIE.htc
│ │ │ │ └── respond.min.js
│ │ │ ├── jquery.dropotron.min.js
│ │ │ ├── jquery.min.js
│ │ │ ├── main.js
│ │ │ ├── skel.min.js
│ │ │ ├── skel-viewport.min.js
│ │ │ └── util.js
│ │ └── sass
│ │ ├── ie8.scss
│ │ ├── libs
│ │ │ ├── _functions.scss
│ │ │ ├── _mixins.scss
│ │ │ ├── _skel.scss
│ │ │ └── _vars.scss
│ │ └── main.scss
│ ├── images
│ │ ├── banner.jpg
│ │ ├── banner.png
│ │ ├── default.jpg
│ │ ├── no-image.png
│ │ ├── pic01.jpg
│ │ ├── pic02.jpg
│ │ ├── pic03.jpg
│ │ ├── pic04.jpg
│ │ ├── pic05.jpg
│ │ ├── pic06.jpg
│ │ └── pic07.jpg
│ └── svz
│ ├── assets
│ │ ├── css
│ │ │ ├── font-awesome.min.css
│ │ │ ├── ie8.css
│ │ │ ├── ie9.css
│ │ │ ├── images
│ │ │ │ └── intro.svg
│ │ │ └── main.css
│ │ ├── fonts
│ │ │ ├── FontAwesome.otf
│ │ │ ├── fontawesome-webfont.eot
│ │ │ ├── fontawesome-webfont.svg
│ │ │ ├── fontawesome-webfont.ttf
│ │ │ ├── fontawesome-webfont.woff
│ │ │ └── fontawesome-webfont.woff2
│ │ ├── js
│ │ │ ├── admin.js
│ │ │ ├── ie
│ │ │ │ ├── html5shiv.js
│ │ │ │ └── respond.min.js
│ │ │ ├── jquery.min.js
│ │ │ ├── jquery.scrollex.min.js
│ │ │ ├── jquery.scrolly.min.js
│ │ │ ├── main.js
│ │ │ ├── skel.min.js
│ │ │ └── util.js
│ │ └── sass
│ │ ├── base
│ │ │ ├── _page.scss
│ │ │ └── _typography.scss
│ │ ├── components
│ │ │ ├── _box.scss
│ │ │ ├── _button.scss
│ │ │ ├── _features.scss
│ │ │ ├── _form.scss
│ │ │ ├── _icon.scss
│ │ │ ├── _image.scss
│ │ │ ├── _list.scss
│ │ │ ├── _section.scss
│ │ │ ├── _split.scss
│ │ │ ├── _spotlights.scss
│ │ │ ├── _table.scss
│ │ │ └── _wrapper.scss
│ │ ├── ie8.scss
│ │ ├── ie9.scss
│ │ ├── layout
│ │ │ ├── _footer.scss
│ │ │ ├── _header.scss
│ │ │ ├── _intro.scss
│ │ │ ├── _sidebar.scss
│ │ │ └── _wrapper.scss
│ │ ├── libs
│ │ │ ├── _functions.scss
│ │ │ ├── _mixins.scss
│ │ │ ├── _skel.scss
│ │ │ └── _vars.scss
│ │ └── main.scss
│ └── images
│ ├── pic01.jpg
│ ├── pic02.jpg
│ ├── pic03.jpg
│ ├── pic04.jpg
│ ├── pic05.jpg
│ └── pic06.jpg
└── svz
├── admin.py
├── admin.pyc
├── apps.py
├── __init__.py
├── __init__.pyc
├── migrations
│ ├── 0001_initial.py
│ ├── 0001_initial.pyc
│ ├── 0002_auto_20161213_2212.py
│ ├── 0002_auto_20161213_2212.pyc
│ ├── 0003_auto_20170209_1516.py
│ ├── 0003_auto_20170209_1516.pyc
│ ├── 0004_auto_20170209_1612.py
│ ├── 0004_auto_20170209_1612.pyc
│ ├── 0005_auto_20170209_1621.py
│ ├── 0005_auto_20170209_1621.pyc
│ ├── 0006_auto_20170224_1248.py
│ ├── 0006_auto_20170224_1248.pyc
│ ├── 0007_player_faction.py
│ ├── 0007_player_faction.pyc
│ ├── 0008_auto_20170313_1033.py
│ ├── 0008_auto_20170313_1033.pyc
│ ├── __init__.py
│ └── __init__.pyc
├── models.py
├── models.pyc
├── templates
│ └── svz
│ └── concours_affiche.html
├── tests.py
├── tests.pyc
├── urls.py
├── urls.pyc
├── views.py
└── views.pyc
When i run manage.py runserver everything goes well
Then here is the StackTrace when i'm trying to access the main page:
Traceback (most recent call last):
File "/usr/lib64/python2.7/wsgiref/handlers.py", line 85, in run
self.result = application(self.environ, self.start_response)
File "/usr/lib/python2.7/site-packages/django/contrib/staticfiles/handlers.py", line 63, in __call__
return self.application(environ, start_response)
File "/usr/lib/python2.7/site-packages/django/core/handlers/wsgi.py", line 170, in __call__
response = self.get_response(request)
File "/usr/lib/python2.7/site-packages/django/core/handlers/base.py", line 124, in get_response
response = self._middleware_chain(request)
File "/usr/lib/python2.7/site-packages/django/core/handlers/exception.py", line 44, in inner
response = response_for_exception(request, exc)
File "/usr/lib/python2.7/site-packages/django/core/handlers/exception.py", line 94, in response_for_exception
response = handle_uncaught_exception(request, get_resolver(get_urlconf()), sys.exc_info())
File "/usr/lib/python2.7/site-packages/django/core/handlers/exception.py", line 42, in inner
response = get_response(request)
File "/usr/lib/python2.7/site-packages/django/core/handlers/base.py", line 249, in _legacy_get_response
response = self._get_response(request)
File "/usr/lib/python2.7/site-packages/django/core/handlers/base.py", line 217, in _get_response
response = self.process_exception_by_middleware(e, request)
File "/usr/lib/python2.7/site-packages/django/core/handlers/base.py", line 215, in _get_response
response = response.render()
File "/usr/lib/python2.7/site-packages/django/template/response.py", line 109, in render
self.content = self.rendered_content
File "/usr/lib/python2.7/site-packages/django/template/response.py", line 84, in rendered_content
template = self.resolve_template(self.template_name)
File "/usr/lib/python2.7/site-packages/django/template/response.py", line 66, in resolve_template
return select_template(template, using=self.using)
File "/usr/lib/python2.7/site-packages/django/template/loader.py", line 48, in select_template
return engine.get_template(template_name)
File "/usr/lib/python2.7/site-packages/django/template/backends/django.py", line 39, in get_template
return Template(self.engine.get_template(template_name), self)
File "/usr/lib/python2.7/site-packages/django/template/engine.py", line 160, in get_template
template, origin = self.find_template(template_name)
File "/usr/lib/python2.7/site-packages/django/template/engine.py", line 134, in find_template
name, template_dirs=dirs, skip=skip,
File "/usr/lib/python2.7/site-packages/django/template/loaders/base.py", line 44, in get_template
contents, origin, origin.template_name, self.engine,
File "/usr/lib/python2.7/site-packages/django/template/base.py", line 191, in __init__
self.nodelist = self.compile_nodelist()
File "/usr/lib/python2.7/site-packages/django/template/base.py", line 233, in compile_nodelist
return parser.parse()
File "/usr/lib/python2.7/site-packages/django/template/base.py", line 518, in parse
raise self.error(token, e)
ImportError: cannot import name settings
[02/Nov/2017 19:10:31] "GET / HTTP/1.1" 500 59
I checked all the imports and they are correct, tried to specify the settings directly when running manage.py with --settings=..., tried also to specify the PYTHONPATH.
I've run out of ideas.
One last thing, this website, with exactly the same files is currently running on a server and do not have any problems of this kind.
Try this:
from django.conf import settings
I am getting a 'template not found' error, although I've set up a correct template hierarchy (or so I thought)
.
├── manage.py
├── twinja
│ ├── admin.py
│ ├── admin.pyc
│ ├── __init__.py
│ ├── __init__.pyc
│ ├── migrations
│ │ ├── __init__.py
│ │ └── __init__.pyc
│ ├── models.py
│ ├── models.pyc
│ ├── tests.py
│ └── views.py
└── twinjasite
├── __init__.py
├── __init__.pyc
├── settings.py
├── settings.py~
├── settings.pyc
├── static
│ └── twinja
│ ├── fonts
│ │ └── bootstrap
│ │ ├── glyphicons-halflings-regular.eot
│ │ ├── glyphicons-halflings-regular.svg
│ │ ├── glyphicons-halflings-regular.ttf
│ │ ├── glyphicons-halflings-regular.woff
│ │ └── glyphicons-halflings-regular.woff2
│ ├── images
│ ├── javascripts
│ │ ├── bootstrap
│ │ │ ├── affix.js
│ │ │ ├── alert.js
│ │ │ ├── button.js
│ │ │ ├── carousel.js
│ │ │ ├── collapse.js
│ │ │ ├── dropdown.js
│ │ │ ├── modal.js
│ │ │ ├── popover.js
│ │ │ ├── scrollspy.js
│ │ │ ├── tab.js
│ │ │ ├── tooltip.js
│ │ │ └── transition.js
│ │ ├── bootstrap.js
│ │ ├── bootstrap.min.js
│ │ └── bootstrap-sprockets.js
│ └── stylesheets
│ ├── framework.css
│ └── styles.css
├── templates
│ └── twinja
│ ├── base.html
│ └── menu.html
├── urls.py
├── urls.py~
├── urls.pyc
├── views.py
├── views.py~
├── views.pyc
├── wsgi.py
└── wsgi.pyc
At first I set up templates/base but that did not work. So I made it as you see here: templates/twinja/base
Ideally I'm setting up the MAIN template files which are independent of apps, which I thought was meant to go in the main folder (where settings.py is) but perhaps I am mistake.
Yes, I have 'twinja' set up in installed apps as well.
What appears to be wrong here?
TemplateDoesNotExist at /
twinja/base.html
If your template is independent of apps, it shouldn't be in your app folder - namespace it accordingly.
How do you load your template? Did you setup your templates/staticfolders in your settings.py?
Updated.
For the fresh project you need to configure your settings.py file. Read here, ask away if you still have a question.
Updated.
After you get familiar with static files and how to manage those, spend some time here.
I'm having trouble loading my CSS file into my HTML template. Below are the invovled files I'm working with. Can anyone see why the CSS wouldn't be loading?
settings.py
BASE_DIR = os.path.dirname(os.path.abspath(__file__))
STATIC_ROOT = 'staticfiles'
STATIC_URL = '/static/'
STATICFILES_DIRS = (
os.path.join(BASE_DIR, 'static'),
)
words.html
{% load staticfiles %}
<link rel="stylesheet" type="text/css" href="{% static 'hello/words.css' %}" />
urls.py
urlpatterns = patterns('',
url(r'^
url(r'^Words', hello.views.index, name='index'),
url(r'^db', hello.views.db, name='db'),
url(r'^Add', hello.views.create, name='create'),
url(r'^admin/', include(admin.site.urls)),
)
urlpatterns += staticfiles_urlpatterns()
words.css
.pri {
color: blue;
}, hello.views.index, name='index'),
Project Structure
murmurwall/
├── Procfile
├── README.md
├── hello
│ ├── __init__.py
│ ├── __init__.pyc
│ ├── __pycache__
│ │ ├── __init__.cpython-34.pyc
│ │ ├── admin.cpython-34.pyc
│ │ ├── forms.cpython-34.pyc
│ │ ├── models.cpython-34.pyc
│ │ └── views.cpython-34.pyc
│ ├── admin.py
│ ├── admin.pyc
│ ├── forms.py
│ ├── forms.pyc
│ ├── management
│ │ └── commands
│ │ ├── CSV
│ │ │ └── Pretty\ Little\ Liars.csv
│ │ ├── __pycache__
│ │ │ └── update_words.cpython-34.pyc
│ │ └── update_words.py
│ ├── models.py
│ ├── models.pyc
│ ├── static
│ │ └── hello
│ │ └── words.css
│ ├── templates
│ │ ├── add_word.html
│ │ ├── base.html
│ │ ├── db.html
│ │ └── words.html
│ ├── tests.py
│ ├── views.py
│ └── views.pyc
├── manage.py
├── murmurwall
│ ├── __init__.py
│ ├── __init__.pyc
│ ├── __pycache__
│ │ ├── __init__.cpython-34.pyc
│ │ ├── settings.cpython-34.pyc
│ │ ├── urls.cpython-34.pyc
│ │ └── wsgi.cpython-34.pyc
│ ├── settings.py
│ ├── settings.pyc
│ ├── static
│ │ └── humans.txt
│ ├── urls.py
│ ├── urls.pyc
│ ├── wsgi.py
│ └── wsgi.pyc
├── requirements.txt
├── runtime.txt
└── staticfiles
├── admin
│ ├── css
│ │ ├── base.css
│ │ ├── changelists.css
│ │ ├── dashboard.css
│ │ ├── forms.css
│ │ ├── ie.css
│ │ ├── login.css
│ │ ├── rtl.css
│ │ └── widgets.css
│ ├── img
│ │ ├── changelist-bg.gif
│ │ ├── changelist-bg_rtl.gif
│ │ ├── default-bg-reverse.gif
│ │ ├── default-bg.gif
│ │ ├── deleted-overlay.gif
│ │ ├── gis
│ │ │ ├── move_vertex_off.png
│ │ │ └── move_vertex_on.png
│ │ ├── icon-no.gif
│ │ ├── icon-unknown.gif
│ │ ├── icon-yes.gif
│ │ ├── icon_addlink.gif
│ │ ├── icon_alert.gif
│ │ ├── icon_calendar.gif
│ │ ├── icon_changelink.gif
│ │ ├── icon_clock.gif
│ │ ├── icon_deletelink.gif
│ │ ├── icon_error.gif
│ │ ├── icon_searchbox.png
│ │ ├── icon_success.gif
│ │ ├── inline-delete-8bit.png
│ │ ├── inline-delete.png
│ │ ├── inline-restore-8bit.png
│ │ ├── inline-restore.png
│ │ ├── inline-splitter-bg.gif
│ │ ├── nav-bg-grabber.gif
│ │ ├── nav-bg-reverse.gif
│ │ ├── nav-bg-selected.gif
│ │ ├── nav-bg.gif
│ │ ├── selector-icons.gif
│ │ ├── selector-search.gif
│ │ ├── sorting-icons.gif
│ │ ├── tooltag-add.png
│ │ └── tooltag-arrowright.png
│ └── js
│ ├── LICENSE-JQUERY.txt
│ ├── SelectBox.js
│ ├── SelectFilter2.js
│ ├── actions.js
│ ├── actions.min.js
│ ├── admin
│ │ ├── DateTimeShortcuts.js
│ │ └── RelatedObjectLookups.js
│ ├── calendar.js
│ ├── collapse.js
│ ├── collapse.min.js
│ ├── core.js
│ ├── inlines.js
│ ├── inlines.min.js
│ ├── jquery.init.js
│ ├── jquery.js
│ ├── jquery.min.js
│ ├── prepopulate.js
│ ├── prepopulate.min.js
│ ├── timeparse.js
│ └── urlify.js
├── hello
│ └── words.css
└── humans.txt
Your STATIC_ROOT = 'staticfiles' need to be the absolute path to the static files. For example STATIC_ROOT = os.path.join(PROJECT_ROOT, STATIC_URL.strip("/")). This might have to be changed for deployment. An example i use for openshift:
if 'OPENSHIFT_REPO_DIR' in os.environ:
STATIC_ROOT = os.path.join(os.environ.get('OPENSHIFT_REPO_DIR'), 'wsgi', 'static')
else:
STATIC_ROOT = os.path.join(PROJECT_ROOT, STATIC_URL.strip("/"))
See also django static static url static root