Sorry for my bad English in advance.
I'm trying to discover django, so I decided to write my own sign in/sign up views.
So I just wrote something like that -
class RegisterView(CreateView):
template_name = 'auth/user_create_form.html'
model = User
fields = ['username', 'password', 'email']
So, it's basically working with GET requests. We can see the form on specified url.
But after altering all fields and submitting form, I've got a mistake what suggested to specify get_absolute_url for model to redirect after submitting. So I decided to give success_url to RegisterView -
class RegisterView(CreateView):
template_name = 'auth/user_create_form.html'
model = User
fields = ['username', 'password', 'email']
success_url = reverse('words:main_page')
And got a mistake
Exception in thread django-main-thread:
Traceback (most recent call last):
File "/home/yegor/.cache/pypoetry/virtualenvs/word-collector-g9LS8W6v-py3.9/lib/python3.9/site-packages/django/urls/resolvers.py", line 600, in url_patterns
iter(patterns)
TypeError: 'module' object is not iterable
The above exception was the direct cause of the following exception:
Traceback (most recent call last):
File "/home/linuxbrew/.linuxbrew/opt/python#3.9/lib/python3.9/threading.py", line 954, in _bootstrap_inner
self.run()
File "/home/linuxbrew/.linuxbrew/opt/python#3.9/lib/python3.9/threading.py", line 892, in run
self._target(*self._args, **self._kwargs)
File "/home/yegor/.cache/pypoetry/virtualenvs/word-collector-g9LS8W6v-py3.9/lib/python3.9/site-packages/django/utils/autoreload.py", line 64, in wrapper
fn(*args, **kwargs)
File "/home/yegor/.cache/pypoetry/virtualenvs/word-collector-g9LS8W6v-py3.9/lib/python3.9/site-packages/django/core/management/commands/runserver.py", line 118, in inner_run
self.check(display_num_errors=True)
File "/home/yegor/.cache/pypoetry/virtualenvs/word-collector-g9LS8W6v-py3.9/lib/python3.9/site-packages/django/core/management/base.py", line 419, in check
all_issues = checks.run_checks(
File "/home/yegor/.cache/pypoetry/virtualenvs/word-collector-g9LS8W6v-py3.9/lib/python3.9/site-packages/django/core/checks/registry.py", line 76, in run_checks
new_errors = check(app_configs=app_configs, databases=databases)
File "/home/yegor/.cache/pypoetry/virtualenvs/word-collector-g9LS8W6v-py3.9/lib/python3.9/site-packages/django/core/checks/urls.py", line 13, in check_url_config
return check_resolver(resolver)
File "/home/yegor/.cache/pypoetry/virtualenvs/word-collector-g9LS8W6v-py3.9/lib/python3.9/site-packages/django/core/checks/urls.py", line 23, in check_resolver
return check_method()
File "/home/yegor/.cache/pypoetry/virtualenvs/word-collector-g9LS8W6v-py3.9/lib/python3.9/site-packages/django/urls/resolvers.py", line 412, in check
for pattern in self.url_patterns:
File "/home/yegor/.cache/pypoetry/virtualenvs/word-collector-g9LS8W6v-py3.9/lib/python3.9/site-packages/django/utils/functional.py", line 48, in __get__
res = instance.__dict__[self.name] = self.func(instance)
File "/home/yegor/.cache/pypoetry/virtualenvs/word-collector-g9LS8W6v-py3.9/lib/python3.9/site-packages/django/urls/resolvers.py", line 598, in url_patterns
patterns = getattr(self.urlconf_module, "urlpatterns", self.urlconf_module)
File "/home/yegor/.cache/pypoetry/virtualenvs/word-collector-g9LS8W6v-py3.9/lib/python3.9/site-packages/django/utils/functional.py", line 48, in __get__
res = instance.__dict__[self.name] = self.func(instance)
File "/home/yegor/.cache/pypoetry/virtualenvs/word-collector-g9LS8W6v-py3.9/lib/python3.9/site-packages/django/urls/resolvers.py", line 591, in urlconf_module
return import_module(self.urlconf_name)
File "/home/linuxbrew/.linuxbrew/opt/python#3.9/lib/python3.9/importlib/__init__.py", line 127, in import_module
return _bootstrap._gcd_import(name[level:], package, level)
File "<frozen importlib._bootstrap>", line 1030, in _gcd_import
File "<frozen importlib._bootstrap>", line 1007, in _find_and_load
File "<frozen importlib._bootstrap>", line 986, in _find_and_load_unlocked
File "<frozen importlib._bootstrap>", line 680, in _load_unlocked
File "<frozen importlib._bootstrap_external>", line 790, in exec_module
File "<frozen importlib._bootstrap>", line 228, in _call_with_frames_removed
File "/home/yegor/projects/word_collector/word_collector/urls.py", line 23, in <module>
path('', include('words.urls'))
File "/home/yegor/.cache/pypoetry/virtualenvs/word-collector-g9LS8W6v-py3.9/lib/python3.9/site-packages/django/urls/conf.py", line 34, in include
urlconf_module = import_module(urlconf_module)
File "/home/linuxbrew/.linuxbrew/opt/python#3.9/lib/python3.9/importlib/__init__.py", line 127, in import_module
return _bootstrap._gcd_import(name[level:], package, level)
File "<frozen importlib._bootstrap>", line 1030, in _gcd_import
File "<frozen importlib._bootstrap>", line 1007, in _find_and_load
File "<frozen importlib._bootstrap>", line 986, in _find_and_load_unlocked
File "<frozen importlib._bootstrap>", line 680, in _load_unlocked
File "<frozen importlib._bootstrap_external>", line 790, in exec_module
File "<frozen importlib._bootstrap>", line 228, in _call_with_frames_removed
File "/home/yegor/projects/word_collector/words/urls.py", line 2, in <module>
from words.views import MainView, RegisterView, LoginView
File "/home/yegor/projects/word_collector/words/views.py", line 12, in <module>
class RegisterView(CreateView):
File "/home/yegor/projects/word_collector/words/views.py", line 17, in RegisterView
success_url = reverse('words:main_page')
File "/home/yegor/.cache/pypoetry/virtualenvs/word-collector-g9LS8W6v-py3.9/lib/python3.9/site-packages/django/urls/base.py", line 54, in reverse
app_list = resolver.app_dict[ns]
File "/home/yegor/.cache/pypoetry/virtualenvs/word-collector-g9LS8W6v-py3.9/lib/python3.9/site-packages/django/urls/resolvers.py", line 526, in app_dict
self._populate()
File "/home/yegor/.cache/pypoetry/virtualenvs/word-collector-g9LS8W6v-py3.9/lib/python3.9/site-packages/django/urls/resolvers.py", line 460, in _populate
for url_pattern in reversed(self.url_patterns):
File "/home/yegor/.cache/pypoetry/virtualenvs/word-collector-g9LS8W6v-py3.9/lib/python3.9/site-packages/django/utils/functional.py", line 48, in __get__
res = instance.__dict__[self.name] = self.func(instance)
File "/home/yegor/.cache/pypoetry/virtualenvs/word-collector-g9LS8W6v-py3.9/lib/python3.9/site-packages/django/urls/resolvers.py", line 607, in url_patterns
raise ImproperlyConfigured(msg.format(name=self.urlconf_name)) from e
django.core.exceptions.ImproperlyConfigured: The included URLconf 'word_collector.urls' does not appear to have any patterns in it. If you see valid patterns in the file then the issue is probably caused by a circular import.
I'm sure that urlconf is great. Where this thing getting circular import? And how I should use success_url?
By the way, if I assign POST method to class -
def post(self, *args, **kwargs):
self.success_url = reverse('words:main_page')
return super().post(*args, **kwargs)
then everything work properly, but I still don't understand why?
Related
I tried to start a app so that I can create a Login for my blog but I came by this error.
So I thought to post a question in stack over flow. I hope yu can take some time to answer my question.
This is the trace back error,
Traceback (most recent call last):
File "C:\Users\Selvi\AppData\Local\Programs\Python\Python39\lib\threading.py", line 954, in _bootstrap_inner
self.run()
File "C:\Users\Selvi\AppData\Local\Programs\Python\Python39\lib\threading.py", line 892, in run
self._target(*self._args, **self._kwargs)
File "C:\simpleblog\virt\lib\site-packages\django\utils\autoreload.py", line 53, in wrapper
fn(*args, **kwargs)
File "C:\simpleblog\virt\lib\site-packages\django\core\management\commands\runserver.py", line 118, in inner_run
self.check(display_num_errors=True)
File "C:\simpleblog\virt\lib\site-packages\django\core\management\base.py", line 392, in check
all_issues = checks.run_checks(
File "C:\simpleblog\virt\lib\site-packages\django\core\checks\registry.py", line 70, in run_checks
new_errors = check(app_configs=app_configs, databases=databases)
File "C:\simpleblog\virt\lib\site-packages\django\core\checks\urls.py", line 13, in check_url_config
return check_resolver(resolver)
File "C:\simpleblog\virt\lib\site-packages\django\core\checks\urls.py", line 23, in check_resolver
return check_method()
File "C:\simpleblog\virt\lib\site-packages\django\urls\resolvers.py", line 408, in check
for pattern in self.url_patterns:
File "C:\simpleblog\virt\lib\site-packages\django\utils\functional.py", line 48, in __get__
res = instance.__dict__[self.name] = self.func(instance)
File "C:\simpleblog\virt\lib\site-packages\django\urls\resolvers.py", line 589, in url_patterns
patterns = getattr(self.urlconf_module, "urlpatterns", self.urlconf_module)
File "C:\simpleblog\virt\lib\site-packages\django\utils\functional.py", line 48, in __get__
res = instance.__dict__[self.name] = self.func(instance)
File "C:\simpleblog\virt\lib\site-packages\django\urls\resolvers.py", line 582, in urlconf_module
return import_module(self.urlconf_name)
File "C:\Users\Selvi\AppData\Local\Programs\Python\Python39\lib\importlib\__init__.py", line 127, in import_module
return _bootstrap._gcd_import(name[level:], package, level)
File "<frozen importlib._bootstrap>", line 1030, in _gcd_import
File "<frozen importlib._bootstrap>", line 1007, in _find_and_load
File "<frozen importlib._bootstrap>", line 986, in _find_and_load_unlocked
File "<frozen importlib._bootstrap>", line 680, in _load_unlocked
File "<frozen importlib._bootstrap_external>", line 790, in exec_module
File "<frozen importlib._bootstrap>", line 228, in _call_with_frames_removed
File "C:\simpleblog\ablog\ablog\urls.py", line 8, in <module>
path('members/', include('members.urls')),
File "C:\simpleblog\virt\lib\site-packages\django\urls\conf.py", line 34, in include
urlconf_module = import_module(urlconf_module)
File "C:\Users\Selvi\AppData\Local\Programs\Python\Python39\lib\importlib\__init__.py", line 127, in import_module
return _bootstrap._gcd_import(name[level:], package, level)
File "<frozen importlib._bootstrap>", line 1030, in _gcd_import
File "<frozen importlib._bootstrap>", line 1007, in _find_and_load
File "<frozen importlib._bootstrap>", line 984, in _find_and_load_unlocked
ModuleNotFoundError: No module named 'members.urls'
Here is the url for members
from django.urls import path
from .views import UserRegisterView
urlpatterns = [
path('register/', UserRegisterView.as_view()name='register'),
]
Here is the urls for ablog
from django.contrib import admin
from django.urls import path, include
urlpatterns = [
path('admin/', admin.site.urls),
path('',include('myblog.urls')),
path('members/', include('django.contrib.auth.urls')),
path('members/', include('members.urls')),
]
Here is my views.py
from django.shortcuts import render
from django.views import generic
from django.contrib.auth.forms import UserCreationForm
from django.urls import reverse_lazy
class UserRegisterView(generic.CreateView):
form_class = UserCreationForm
template_name = 'registration/register.html'
success_url = reverse_lazy('login')
How do I solve this error.
At first Correct your urlpatterns:(you forgot , )
path('register/', UserRegisterView.as_view(),name='register'),
also make sure for migrations
I got the same problem and I was missing the urls.py file in my app.
Add urls.py file in members app.
I have two models with two update forms.
Now I want to achieve two things:
be able to edit a certificate and set all the servers this certificate is used on
be able to update a server and set all the certificates which are used on this server.
class Certificate(models.Model):
internal_name = models.CharField(max_length=1024)
pem_representation = models.TextField(unique=True)
servers = models.ManyToManyField(
Server, related_name='certificates', blank=True)
class Server(models.Model):
name = models.CharField(max_length=1024, unique=True)
class CertificateUpdateForm(forms.ModelForm):
class Meta:
model = models.Certificate
fields = ['internal_name', 'pem_representation', 'servers']
class ServerUpdateForm(forms.ModelForm):
class Meta:
model = models.Server
fields = ['name', 'certificates']
Without the field "certificates" in ServerUpdateForm I get no error but when updating via the form the changes for the certificates just aren't recognized.
The error message I get with this code is:
Exception in thread django-main-thread:
Traceback (most recent call last):
File "/usr/lib64/python3.8/threading.py", line 932, in _bootstrap_inner
self.run()
File "/usr/lib64/python3.8/threading.py", line 870, in run
self._target(*self._args, **self._kwargs)
File " venv/lib64/python3.8/site-packages/django/utils/autoreload.py", line 53, in wrapper
fn(*args, **kwargs)
File " venv/lib64/python3.8/site-packages/django/core/management/commands/runserver.py", line 118, in inner_run
self.check(display_num_errors=True)
File " venv/lib64/python3.8/site-packages/django/core/management/base.py", line 392, in check
all_issues = checks.run_checks(
File " venv/lib64/python3.8/site-packages/django/core/checks/registry.py", line 70, in run_checks
new_errors = check(app_configs=app_configs, databases=databases)
File " venv/lib64/python3.8/site-packages/django/core/checks/urls.py", line 13, in check_url_config
return check_resolver(resolver)
File " venv/lib64/python3.8/site-packages/django/core/checks/urls.py", line 23, in check_resolver
return check_method()
File " venv/lib64/python3.8/site-packages/django/urls/resolvers.py", line 408, in check
for pattern in self.url_patterns:
File " venv/lib64/python3.8/site-packages/django/utils/functional.py", line 48, in __get__
res = instance.__dict__[self.name] = self.func(instance)
File " venv/lib64/python3.8/site-packages/django/urls/resolvers.py", line 589, in url_patterns
patterns = getattr(self.urlconf_module, "urlpatterns", self.urlconf_module)
File " venv/lib64/python3.8/site-packages/django/utils/functional.py", line 48, in __get__
res = instance.__dict__[self.name] = self.func(instance)
File " venv/lib64/python3.8/site-packages/django/urls/resolvers.py", line 582, in urlconf_module
return import_module(self.urlconf_name)
File "/usr/lib64/python3.8/importlib/__init__.py", line 127, in import_module
return _bootstrap._gcd_import(name[level:], package, level)
File "<frozen importlib._bootstrap>", line 1014, in _gcd_import
File "<frozen importlib._bootstrap>", line 991, in _find_and_load
File "<frozen importlib._bootstrap>", line 975, in _find_and_load_unlocked
File "<frozen importlib._bootstrap>", line 671, in _load_unlocked
File "<frozen importlib._bootstrap_external>", line 783, in exec_module
File "<frozen importlib._bootstrap>", line 219, in _call_with_frames_removed
File " certmanager/certmanager/urls.py", line 26, in <module>
path('servers/', include('servers.urls')),
File " venv/lib64/python3.8/site-packages/django/urls/conf.py", line 34, in include
urlconf_module = import_module(urlconf_module)
File "/usr/lib64/python3.8/importlib/__init__.py", line 127, in import_module
return _bootstrap._gcd_import(name[level:], package, level)
File "<frozen importlib._bootstrap>", line 1014, in _gcd_import
File "<frozen importlib._bootstrap>", line 991, in _find_and_load
File "<frozen importlib._bootstrap>", line 975, in _find_and_load_unlocked
File "<frozen importlib._bootstrap>", line 671, in _load_unlocked
File "<frozen importlib._bootstrap_external>", line 783, in exec_module
File "<frozen importlib._bootstrap>", line 219, in _call_with_frames_removed
File " certmanager/servers/urls.py", line 3, in <module>
from . import views
File " certmanager/servers/views.py", line 9, in <module>
from . import forms, models
File " certmanager/servers/forms.py", line 12, in <module>
class ServerUpdateForm(forms.ModelForm):
File " venv/lib64/python3.8/site-packages/django/forms/models.py", line 268, in __new__
raise FieldError(message)
django.core.exceptions.FieldError: Unknown field(s) (certificates) specified for Server
How can I update the M2M relation on both objects?
So I asked the same question in a post on the Django forum and got a working suggestion.
For better viewability:
I overrode the post-method of the UpdateView I use and managed the Many2Many relationship there. I also had to remove the 'certificates' field form the UpdateForm obviously because it thew an exception.
Here is the full UpdateView class I use:
class ServerUpdate(PermissionRequiredMixin, generic.UpdateView):
model = models.Server
template_name = 'servers/update.html'
form_class = forms.ServerUpdateForm
queryset = models.Server.objects.all()
success_url = reverse_lazy('servers:server-index')
permission_required = ('servers.change_server')
def get_context_data(self, **kwargs):
context = super(ServerUpdate, self).get_context_data(**kwargs)
context['all_certificates'] = Certificate.objects.all()
context['selected_certificates'] = self.object.certificates.all()
return context
def post(self, request, *args, **kwargs):
selected_certificates = request.POST.getlist('certificates')
self.object = self.get_object()
self.object.certificates.set(selected_certificates)
return super().post(request, *args, **kwargs)
I am taking a course where this error does not occur
my error is cod is:
Exception in thread django-main-thread:
Traceback (most recent call last):
File "C:\Users\wuoel\AppData\Local\Programs\Python\Python38-32\lib\threading.py", line 932, in _bo
otstrap_inner
self.run()
File "C:\Users\wuoel\AppData\Local\Programs\Python\Python38-32\lib\threading.py", line 870, in run
self._target(*self._args, **self._kwargs)
File "C:\Users\wuoel\AppData\Local\Programs\Python\Python38-32\lib\site-packages\django\utils\auto
reload.py", line 53, in wrapper
fn(*args, **kwargs)
File "C:\Users\wuoel\AppData\Local\Programs\Python\Python38-32\lib\site-packages\django\core\manag
ement\commands\runserver.py", line 117, in inner_run
self.check(display_num_errors=True)
File "C:\Users\wuoel\AppData\Local\Programs\Python\Python38-32\lib\site-packages\django\core\manag
ement\base.py", line 392, in check
all_issues = self._run_checks(
File "C:\Users\wuoel\AppData\Local\Programs\Python\Python38-32\lib\site-packages\django\core\manag
ement\base.py", line 382, in _run_checks
return checks.run_checks(**kwargs)
File "C:\Users\wuoel\AppData\Local\Programs\Python\Python38-32\lib\site-packages\django\core\check
s\registry.py", line 72, in run_checks
new_errors = check(app_configs=app_configs)
File "C:\Users\wuoel\AppData\Local\Programs\Python\Python38-32\lib\site-packages\django\core\check
s\urls.py", line 13, in check_url_config
return check_resolver(resolver)
File "C:\Users\wuoel\AppData\Local\Programs\Python\Python38-32\lib\site-packages\django\core\check
s\urls.py", line 23, in check_resolver
return check_method()
File "C:\Users\wuoel\AppData\Local\Programs\Python\Python38-32\lib\site-packages\django\urls\resol
vers.py", line 407, in check
for pattern in self.url_patterns:
File "C:\Users\wuoel\AppData\Local\Programs\Python\Python38-32\lib\site-packages\django\utils\func
tional.py", line 48, in __get__
res = instance.__dict__[self.name] = self.func(instance)
File "C:\Users\wuoel\AppData\Local\Programs\Python\Python38-32\lib\site-packages\django\urls\resol
vers.py", line 588, in url_patterns
patterns = getattr(self.urlconf_module, "urlpatterns", self.urlconf_module)
File "C:\Users\wuoel\AppData\Local\Programs\Python\Python38-32\lib\site-packages\django\utils\func
tional.py", line 48, in __get__
res = instance.__dict__[self.name] = self.func(instance)
File "C:\Users\wuoel\AppData\Local\Programs\Python\Python38-32\lib\site-packages\django\urls\resol
vers.py", line 581, in urlconf_module
return import_module(self.urlconf_name)
File "C:\Users\wuoel\AppData\Local\Programs\Python\Python38-32\lib\importlib\__init__.py", line 12
7, in import_module
return _bootstrap._gcd_import(name[level:], package, level)
File "<frozen importlib._bootstrap>", line 1014, in _gcd_import
File "<frozen importlib._bootstrap>", line 991, in _find_and_load
File "<frozen importlib._bootstrap>", line 975, in _find_and_load_unlocked
File "<frozen importlib._bootstrap>", line 671, in _load_unlocked
File "<frozen importlib._bootstrap_external>", line 783, in exec_module
File "<frozen importlib._bootstrap>", line 219, in _call_with_frames_removed
File "C:\KursDjango\skcms\skcms\urls.py", line 22, in <module>
url(r'article/',include('articles.urls'))
File "C:\Users\wuoel\AppData\Local\Programs\Python\Python38-32\lib\site-packages\django\urls\conf.
py", line 34, in include
urlconf_module = import_module(urlconf_module)
File "C:\Users\wuoel\AppData\Local\Programs\Python\Python38-32\lib\importlib\__init__.py", line 12
7, in import_module
return _bootstrap._gcd_import(name[level:], package, level)
File "<frozen importlib._bootstrap>", line 1014, in _gcd_import
File "<frozen importlib._bootstrap>", line 991, in _find_and_load
File "<frozen importlib._bootstrap>", line 975, in _find_and_load_unlocked
File "<frozen importlib._bootstrap>", line 671, in _load_unlocked
File "<frozen importlib._bootstrap_external>", line 783, in exec_module
File "<frozen importlib._bootstrap>", line 219, in _call_with_frames_removed
File "C:\KursDjango\skcms\articles\urls.py", line 4, in <module>
url(r'^show_all/$', 'articles.views.articles'),
File "C:\Users\wuoel\AppData\Local\Programs\Python\Python38-32\lib\site-packages\django\conf\urls\
__init__.py", line 13, in url
return re_path(regex, view, kwargs, name)
File "C:\Users\wuoel\AppData\Local\Programs\Python\Python38-32\lib\site-packages\django\urls\conf.
py", line 73, in _path
raise TypeError('view must be a callable or a list/tuple in the case of include().')
TypeError: view must be a callable or a list/tuple in the case of include().
urls.py
from django.conf.urls import include, url from django.urls import
include
urlpatterns =('',
url(r'article/',include('articles.urls')) )
articles/urls.py
from django.conf.urls import *
urlpatterns =('',
url(r'^show_all/$', 'articles.views.articles'),
url(r'^(?P\d+)/$', 'articles.views.article'), )
It looks like you are passing the string representation of the name to include() rather than the actual articles.urls variable. Instead, it should look something like this:
from articles import urls as article_urls
...
urlpatterns =[
url(r'article/',include(article_urls, namespace='article'))
]
the problem is explained in this way:
skcms/urls.py
from django.urls import include, path
urlpatterns =[
path('article/',include('articles.urls')),
]
articles/urls.py
from django.urls import path
from . import views
urlpatterns =[
path('', views.articles, name='articles'),
path('', views.article, name='article'),
]
I am doing django project 2.1.4 and getting the below errors, i searched and it seems that i fix errors one by one , but i managed to solve some.
However these i could find any clue.
Error after runserver or migrate.
(myenv) C:\Users\Users\Desktop\blog_project\mysite>python manage.py runserver
Performing system checks...
Unhandled exception in thread started by <function check_errors.<locals>.wrapper at 0x000001EC9271A0D0>
Traceback (most recent call last):
File "C:\Users\Users\Anaconda3\envs\myenv\lib\site-packages\django\utils\autoreload.py", line 225,
in wrapper
fn(*args, **kwargs)
File "C:\Users\Users\Anaconda3\envs\myenv\lib\site-packages\django\core\management\commands\runserv
er.py", line 117, in inner_run
self.check(display_num_errors=True)
File "C:\Users\Users\Anaconda3\envs\myenv\lib\site-packages\django\core\management\base.py", line 3
79, in check
include_deployment_checks=include_deployment_checks,
File "C:\Users\Users\Anaconda3\envs\myenv\lib\site-packages\django\core\management\base.py", line 3
66, in _run_checks
return checks.run_checks(**kwargs)
File "C:\Users\Users\Anaconda3\envs\myenv\lib\site-packages\django\core\checks\registry.py", line 7
1, in run_checks
new_errors = check(app_configs=app_configs)
File "C:\Users\Users\Anaconda3\envs\myenv\lib\site-packages\django\core\checks\urls.py", line 13, i
n check_url_config
return check_resolver(resolver)
File "C:\Users\Users\Anaconda3\envs\myenv\lib\site-packages\django\core\checks\urls.py", line 23, i
n check_resolver
return check_method()
File "C:\Users\Users\Anaconda3\envs\myenv\lib\site-packages\django\urls\resolvers.py", line 396, in
check
for pattern in self.url_patterns:
File "C:\Users\Users\Anaconda3\envs\myenv\lib\site-packages\django\utils\functional.py", line 37, i
n __get__
res = instance.__dict__[self.name] = self.func(instance)
File "C:\Users\Users\Anaconda3\envs\myenv\lib\site-packages\django\urls\resolvers.py", line 533, in
url_patterns
patterns = getattr(self.urlconf_module, "urlpatterns", self.urlconf_module)
File "C:\Users\Users\Anaconda3\envs\myenv\lib\site-packages\django\utils\functional.py", line 37, i
n __get__
res = instance.__dict__[self.name] = self.func(instance)
File "C:\Users\Users\Anaconda3\envs\myenv\lib\site-packages\django\urls\resolvers.py", line 526, in
urlconf_module
return import_module(self.urlconf_name)
File "C:\Users\Users\Anaconda3\envs\myenv\lib\importlib\__init__.py", line 127, in import_module
return _bootstrap._gcd_import(name[level:], package, level)
File "<frozen importlib._bootstrap>", line 1006, in _gcd_import
File "<frozen importlib._bootstrap>", line 983, in _find_and_load
File "<frozen importlib._bootstrap>", line 967, in _find_and_load_unlocked
File "<frozen importlib._bootstrap>", line 677, in _load_unlocked
File "<frozen importlib._bootstrap_external>", line 728, in exec_module
File "<frozen importlib._bootstrap>", line 219, in _call_with_frames_removed
File "C:\Users\Users\Desktop\blog_project\mysite\mysite\urls.py", line 22, in <module>
path('', include('blog.urls')),
File "C:\Users\Users\Anaconda3\envs\myenv\lib\site-packages\django\urls\conf.py", line 34, in inclu
de
urlconf_module = import_module(urlconf_module)
File "C:\Users\Users\Anaconda3\envs\myenv\lib\importlib\__init__.py", line 127, in import_module
return _bootstrap._gcd_import(name[level:], package, level)
File "<frozen importlib._bootstrap>", line 1006, in _gcd_import
File "<frozen importlib._bootstrap>", line 983, in _find_and_load
File "<frozen importlib._bootstrap>", line 967, in _find_and_load_unlocked
File "<frozen importlib._bootstrap>", line 677, in _load_unlocked
File "<frozen importlib._bootstrap_external>", line 728, in exec_module
File "<frozen importlib._bootstrap>", line 219, in _call_with_frames_removed
File "C:\Users\Users\Desktop\blog_project\mysite\blog\urls.py", line 2, in <module>
from .import views
File "C:\Users\Users\Desktop\blog_project\mysite\blog\views.py", line 4, in <module>
from blog.forms import PostForm,CommentForm
File "C:\Users\Users\Desktop\blog_project\mysite\blog\forms.py", line 15, in <module>
class CommentForm(forms.ModelForm):
File "C:\Users\Users\Anaconda3\envs\myenv\lib\site-packages\django\forms\models.py", line 243, in _
_new__
"needs updating." % name
django.core.exceptions.ImproperlyConfigured: Creating a ModelForm without either the 'fields' attribute
or the 'exclude' attribute is prohibited; form CommentForm needs updating.
urlconf_module = import_module(urlconf_module)
File "C:\Users\Users\Anaconda3\envs\myenv\lib\importlib\__init__.py", line 127, in import_module
return _bootstrap._gcd_import(name[level:], package, level)
File "<frozen importlib._bootstrap>", line 1006, in _gcd_import
File "<frozen importlib._bootstrap>", line 983, in _find_and_load
File "<frozen importlib._bootstrap>", line 967, in _find_and_load_unlocked
File "<frozen importlib._bootstrap>", line 677, in _load_unlocked
File "<frozen importlib._bootstrap_external>", line 728, in exec_module
File "<frozen importlib._bootstrap>", line 219, in _call_with_frames_removed
File "C:\Users\Users\Desktop\blog_project\mysite\blog\urls.py", line 2, in <module>
from .import views
File "C:\Users\Users\Desktop\blog_project\mysite\blog\views.py", line 4, in <module>
from blog.forms import PostForm,CommentForm
File "C:\Users\Users\Desktop\blog_project\mysite\blog\forms.py", line 15, in <module>
class CommentForm(forms.ModelForm):
File "C:\Users\Users\Anaconda3\envs\myenv\lib\site-packages\django\forms\models.py", line 243, in _
_new__
"needs updating." % name
django.core.exceptions.ImproperlyConfigured: Creating a ModelForm without either the 'fields' attribute
or the 'exclude' attribute is prohibited; form CommentForm needs updating.
here i am just adding separately.
File "C:\Users\Users\Desktop\blog_project\mysite\mysite\urls.py", line 22, in <module>
path('', include('blog.urls')),
'
path('', include('blog.urls')),
'
File "C:\Users\Users\Desktop\blog_project\mysite\blog\urls.py", line 2, in <module>
from .import views
'
from .import views
'
File "C:\Users\Users\Desktop\blog_project\mysite\blog\views.py", line 4, in <module>
from blog.forms import PostForm,CommentForm
'
from blog.forms import PostForm,CommentForm
'
File "C:\Users\Users\Desktop\blog_project\mysite\blog\forms.py", line 15, in <module>
class CommentForm(forms.ModelForm):
'
class CommentForm(forms.ModelForm):
'
How to fix this errors?
UPDATE: CommentForm below
class CommentForm(forms.ModelForm):
class Meta:
model = Comment
fileds = ('author','text',)
widgets = {
'author':forms.TextInput(attrs={'class':'textinputclass'}),
'text':forms.Textarea(attrs={'class':'editable medium-editor-textarea'})
}
As can be seen from your CommentForm, you've spelt fields as fileds. Correct that to fix the issue:
class CommentForm(forms.ModelForm):
class Meta:
model = Comment
fields = ('author','text',) # Use correct spelling
widgets = {
'author':forms.TextInput(attrs={'class':'textinputclass'}),
'text':forms.Textarea(attrs={'class':'editable medium-editor-textarea'})
}
You need to add 'fields' or 'exclude' attribute to your ModelForm.
# example model:
class Comments(models.Model):
first_name = models.CharField(max_length=30)
last_name = models.CharField(max_length=30)
comment = models.TextField()
# forms:
class CommentForm(forms.ModelForm):
class Meta(object):
model = Comments
exclude = ['first_name', ]
# or:
fields = ['comments', ]
So I'm trying to open and print data from this JSON file using this code in my view:
from django.shortcuts import render
import json
class OnlicarView():
import json
from pprint import pprint
with open('C:/Python34/Scripts/onlicar/mytest/onlicar/static/json/vehicles.json') as data_file:
data = json.load(data_file)
pprint(data)
Here is my app url:
from django.conf.urls import url
from onlicar import views
urlpatterns = [
url(r'^onlicar/$', views.OnlicarView.as_view(), name='onlicar_signup'
)
]
Here is my root url:
from django.conf.urls import url, include
from django.contrib import admin
urlpatterns = [
url(r'^admin/', admin.site.urls),
url(r'^onlicar/', include('onlicar.urls'))
I am having trouble with the app url. I am getting an error saying that there is an Attribute Error and I don't know how to fix it.
Because I am getting the data from a JSON file there is nothing in my models at the moment. Am I meant to have something in the models?
My JSON file is printing now, but how do I render it to HTML instead?
Here is the error:
Unhandled exception in thread started by <function check_errors.<locals>.
at 0x03F9C4B0>
Traceback (most recent call last):
File "C:\Python34\Scripts\onlicar\lib\site-packages\django\utils\autore
", line 226, in wrapper
fn(*args, **kwargs)
File "C:\Python34\Scripts\onlicar\lib\site-packages\django\core\managem
mands\runserver.py", line 121, in inner_run
self.check(display_num_errors=True)
File "C:\Python34\Scripts\onlicar\lib\site-packages\django\core\managem
e.py", line 374, in check
include_deployment_checks=include_deployment_checks,
File "C:\Python34\Scripts\onlicar\lib\site-packages\django\core\managem
e.py", line 361, in _run_checks
return checks.run_checks(**kwargs)
File "C:\Python34\Scripts\onlicar\lib\site-packages\django\core\checks\
y.py", line 81, in run_checks
new_errors = check(app_configs=app_configs)
File "C:\Python34\Scripts\onlicar\lib\site-packages\django\core\checks\
", line 14, in check_url_config
return check_resolver(resolver)
File "C:\Python34\Scripts\onlicar\lib\site-packages\django\core\checks\
", line 24, in check_resolver
for pattern in resolver.url_patterns:
File "C:\Python34\Scripts\onlicar\lib\site-packages\django\utils\functi
", line 35, in __get__
res = instance.__dict__[self.name] = self.func(instance)
File "C:\Python34\Scripts\onlicar\lib\site-packages\django\urls\resolve
line 313, in url_patterns
patterns = getattr(self.urlconf_module, "urlpatterns", self.urlconf_m
File "C:\Python34\Scripts\onlicar\lib\site-packages\django\utils\functi
", line 35, in __get__
res = instance.__dict__[self.name] = self.func(instance)
File "C:\Python34\Scripts\onlicar\lib\site-packages\django\urls\resolve
line 306, in urlconf_module
return import_module(self.urlconf_name)
File "C:\Python34\Scripts\onlicar\lib\importlib\__init__.py", line 109,
ort_module
return _bootstrap._gcd_import(name[level:], package, level)
File "<frozen importlib._bootstrap>", line 2254, in _gcd_import
File "<frozen importlib._bootstrap>", line 2237, in _find_and_load
File "<frozen importlib._bootstrap>", line 2226, in _find_and_load_unlo
File "<frozen importlib._bootstrap>", line 1200, in _load_unlocked
File "<frozen importlib._bootstrap>", line 1129, in _exec
File "<frozen importlib._bootstrap>", line 1471, in exec_module
File "<frozen importlib._bootstrap>", line 321, in _call_with_frames_re
File "C:\Python34\Scripts\onlicar\mytest\mytest\urls.py", line 21, in <
url(r'^onlicar/', include('onlicar.urls'))
File "C:\Python34\Scripts\onlicar\lib\site-packages\django\conf\urls\__
py", line 50, in include
urlconf_module = import_module(urlconf_module)
File "C:\Python34\Scripts\onlicar\lib\importlib\__init__.py", line 109,
ort_module
return _bootstrap._gcd_import(name[level:], package, level)
File "<frozen importlib._bootstrap>", line 2254, in _gcd_import
File "<frozen importlib._bootstrap>", line 2237, in _find_and_load
File "<frozen importlib._bootstrap>", line 2226, in _find_and_load_unlo
File "<frozen importlib._bootstrap>", line 1200, in _load_unlocked
File "<frozen importlib._bootstrap>", line 1129, in _exec
File "<frozen importlib._bootstrap>", line 1471, in exec_module
File "<frozen importlib._bootstrap>", line 321, in _call_with_frames_re
File "C:\Python34\Scripts\onlicar\mytest\onlicar\urls.py", line 5, in <
url(r'^onlicar/$', views.OnlicarView.as_view(), name='onlicar_signup'
AttributeError: type object 'OnlicarView' has no attribute 'as_view'
There are a lot of things wrong with this code.
Firstly, you have declared this as a class, and used it in the URL as if it were a class-based view, but you do not inherit from any actual view class.
Just as seriously, in a class you do not put code at the class level; it needs to go inside a method.
Also, pprint will only print to the console, it will not display anything in the user's browser; you need to create a response and return that.