Re: ImportError: No module named 'main'

2018-04-14 Thread shubham jhandei
Hi,

I agree with Samuel Muiruri, your app definition in settings.py is 
incorrect.

try this:

INSTALLED_APPS = [ ... #'DjangoRestfulServer', #remove there is no need 
toimport the main project 'main', #no need for substantiating an app ]

On Friday, April 13, 2018 at 8:04:51 PM UTC+5:30, Артём Орлов wrote:
>
> Hello!
>
>
> Django does not see application created with *django-admin startapp main*
> . 
>
> ./DjangoRestfulServer/
> ├── __init__.py
> ├── main
> │   ├── admin.py
> │   ├── apps.py
> │   ├── __init__.py
> │   ├── models.py
> │   ├── __pycache__
> │   │   ├── admin.cpython-35.pyc
> │   │   ├── __init__.cpython-35.pyc
> │   │   ├── models.cpython-35.pyc
> │   │   └── views.cpython-35.pyc
> │   ├── tests.py
> │   ├── urls.py
> │   └── views.py
> ├── __pycache__
> │   ├── __init__.cpython-35.pyc
> │   ├── models.cpython-35.pyc
> │   ├── settings.cpython-35.pyc
> │   ├── urls.cpython-35.pyc
> │   └── wsgi.cpython-35.pyc
> ├── settings.py
> ├── urls.py
> └── wsgi.py
>
>
>
> *settings.py*
>
> ...
> INSTALLED_APPS = [
> ...
> 'DjangoRestfulServer',
> 'DjangoRestfulServer.main',
> ]
> ...
>
> *main/urls.py*
>
> from django.conf.urls import url, includefrom django.urls import include, 
> path, re_pathfrom . import views
>
> urlpatterns = [
> re_path(r'^facebook/$', views.FacebookLogin.as_view(), name='fb_login'),
> ]
>
> *urls.py*
>
> from django.contrib import adminfrom django.urls import include, path, re_path
>
> urlpatterns = [
> path('api/v1/admin/', admin.site.urls),
> path('api/v1/accounts/', include('allauth.urls')),
> path('api/v1/', include('main.urls')),  # <- path('api/v1/', 
> include('DjangoRestfulServer.main.urls')) acts the same!!!
> ]
>
> Traceback is the following:
>
> (env3) artem@artem-inspirion:~/Projects/GoTogether/Server$ python3 manage.py 
> checkTraceback (most recent call last):
>   File "manage.py", line 15, in 
> execute_from_command_line(sys.argv)
>   File 
> "/home/artem/Projects/GoTogether/Server/env3/lib/python3.5/site-packages/django/core/management/__init__.py",
>  line 371, in execute_from_command_line
> utility.execute()
>   File 
> "/home/artem/Projects/GoTogether/Server/env3/lib/python3.5/site-packages/django/core/management/__init__.py",
>  line 365, in execute
> self.fetch_command(subcommand).run_from_argv(self.argv)
>   File 
> "/home/artem/Projects/GoTogether/Server/env3/lib/python3.5/site-packages/django/core/management/base.py",
>  line 288, in run_from_argv
> self.execute(*args, **cmd_options)
>   File 
> "/home/artem/Projects/GoTogether/Server/env3/lib/python3.5/site-packages/django/core/management/base.py",
>  line 335, in execute
> output = self.handle(*args, **options)
>   File 
> "/home/artem/Projects/GoTogether/Server/env3/lib/python3.5/site-packages/django/core/management/commands/check.py",
>  line 65, in handle
> fail_level=getattr(checks, options['fail_level']),
>   File 
> "/home/artem/Projects/GoTogether/Server/env3/lib/python3.5/site-packages/django/core/management/base.py",
>  line 364, in check
> include_deployment_checks=include_deployment_checks,
>   File 
> "/home/artem/Projects/GoTogether/Server/env3/lib/python3.5/site-packages/django/core/management/base.py",
>  line 351, in _run_checks
> return checks.run_checks(**kwargs)
>   File 
> "/home/artem/Projects/GoTogether/Server/env3/lib/python3.5/site-packages/django/core/checks/registry.py",
>  line 73, in run_checks
> new_errors = check(app_configs=app_configs)
>   File 
> "/home/artem/Projects/GoTogether/Server/env3/lib/python3.5/site-packages/django/core/checks/urls.py",
>  line 40, in check_url_namespaces_unique
> all_namespaces = _load_all_namespaces(resolver)
>   File 
> "/home/artem/Projects/GoTogether/Server/env3/lib/python3.5/site-packages/django/core/checks/urls.py",
>  line 57, in _load_all_namespaces
> url_patterns = getattr(resolver, 'url_patterns', [])
>   File 
> "/home/artem/Projects/GoTogether/Server/env3/lib/python3.5/site-packages/django/utils/functional.py",
>  line 36, in __get__
> res = instance.__dict__[self.name] = self.func(instance)
>   File 
> "/home/artem/Projects/GoTogether/Server/env3/lib/python3.5/site-packages/django/urls/resolvers.py",
>  line 536, in url_patterns
> patterns = getattr(self.urlconf_module, "urlpatterns", 
> self.urlconf_module)
>   File 
> "/home/artem/Projects/GoTogether/Server/env3/lib/python3.5/site-packages/django/utils/functional.py",
>  line 36, in __get__
> res = instance.__dict__[self.name] = self.func(instance)
>   File 
> "/home/artem/Projects/GoTogether/Server/env3/lib/python3.5/site-packages/django/urls/resolvers.py",
>  line 529, in urlconf_module
> return import_module(self.urlconf_name)
>   File 
> "/home/artem/Projects/GoTogether/Server/env3/lib/python3.5/importlib/__init__.py",
>  line 126, in import_module
> return _bootstrap._gcd_import(name[level:], package, level)
>   File "", line 986, in _gcd_import
>   File "", line 969, in 

Re: Advice needed: One big model or many apps with highly interlinked data tables?

2018-04-14 Thread shubham jhandei
Hi Mikkel,

I have used Django long back, so it might not be the best solution. 

Surely creating one big models.py and views.py will make your code not 
scalable for future, and making small interlinked apps will also not the 
best idea. 

Your intermediate solution is better than both above solutions. One 
optimisation you can do it try to make a dependency graph, and create apps 
with most interlinked cluster. May be every cluster will have a "Sets" 
model, or a separate app depending upon the graph you will create.

So I will suggest to create a graph, and see what can be the best solution 
you can have.  

Regards,
Shubham Jhandei

On Saturday, April 14, 2018 at 7:40:27 PM UTC+5:30, Mikkel Kromann wrote:
>
> Hi.
>
> I'm new to Django, and I'm working my way into Django by going through the 
> nice Djangoproject.com turorial. 
> I'm trying to find out whether Django is the right tool for my task, which 
> is maybe a bit unusual for Django.
>
> My task is to build a web interface to a database for an calculation tool 
> made in Python. 
> The database will contain maybe up to 100.000 pieces of data (mostly 
> decimal fields), and the tool will import this data, do some calculations 
> and write some results back to the database.
>
> My Django web interface should allow the user to view, add, delete and 
> edit the data in the database, and view the results with tables and charts.
> The data is organised in various chunks:
>
> - "Sets" which lend themselves very nicely to Django models, i.e. 
> HouseholdType, Item, City, Month, Year
> - "Maps", which are user defined ManyToOne or ManyToMany relations between 
> the various sets (can probably be worked into the "sets" models)
> - "Data Tables", which contains the main load of data, having the "sets" 
> as foreign keys (e.g. "Demand" for each HouseholdType, Item, City, Month 
> and year)
> - "Results tables", calculated by the tool but in structure quite similar 
> to the "Data tables"
>
> I will have roughly 10 sets, 10 maps. 20-30 data tables and 10-20 result 
> tables.
> I understand that putting all these into a one app will create biiig 
> models.py and views.py files, which is probably a bad idea.
>
> On the other hand, splitting the sets, maps and tables into several apps 
> does not seem to be an ideal solution either.
> All the tables and the maps will be models that have foreign keys to the 
> "sets" models.
> My understanding so far is, that it is also bad to have a lot of 
> interlinkage between the various apps.
>
> An intermediate solution might be, that if I make a "Sets" app containing 
> all the models that are going to be primary key in the other apps, then the 
> interlinkages between the apps is somewhat simplified.
>
> Any thoughts or advice?
>
>
> cheers, Mikkel 
>
>
>

-- 
You received this message because you are subscribed to the Google Groups 
"Django users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to django-users+unsubscr...@googlegroups.com.
To post to this group, send email to django-users@googlegroups.com.
Visit this group at https://groups.google.com/group/django-users.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/django-users/71e6d05b-20c7-46cc-a59e-1815f539aaf6%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.