Getting channels 2 to work

1,262 views
Skip to first unread message

John Wayne

unread,
Dec 1, 2017, 9:08:34 AM12/1/17
to Django users
Hi everyone,

I am stuck getting the new channels 2 to a working state. I installed django==2.0rc1,  and channels==2.0.x, daphne==2.0.x, asgiref==2.0.x from the git repo
channels is enabled inside the settings.py. I also created the asgi.py file in the direcotry of the wsgi.py file acording to the docs. But still i get this error

    raise ImproperlyConfigured("Cannot find ASGI_APPLICATION setting.")
django.core.exceptions.ImproperlyConfigured: Cannot find ASGI_APPLICATION setting.

So it seems that ASGI_APPLICATION has to be specified. So after adding the following line:
ASGI_APPLICATION='mytestproject.asgi.application'
and starting ./manage.py runserver it now complains again. So which value is supposed to be there?

      raise ImproperlyConfigured("Cannot find %r in ASGI_APPLICATION module %s" % (name, path))
django.core.exceptions.ImproperlyConfigured: Cannot find 'application' in ASGI_APPLICATION module mytestproject.asgi

I need to stick to version 2 as i want to try out asgigram (https://github.com/andrewgodwin/asgigram).

Thanks

Andrew Godwin

unread,
Dec 1, 2017, 12:22:06 PM12/1/17
to django...@googlegroups.com
Hi John,

It's not in an end-user-useable state quite yet, so apologies for it being hard to install. Crucially, the docs on ASGI_APPLICATION aren't written yet as I'm still working on authentication stuff!

A brief guide is:

 - Make an asgi.py as specified in http://channels.readthedocs.io/en/2.0/deploying.html
 - Make a channels.routing.ProtocolTypeRouter in your project's routing.py and configure this as needed (you'll have to read the code for now)
 - Point ASGI_APPLICATION to that root router.

I'll have a lot more docs and stuff coming soon as I start prepping Channels 2 for a beta release, which will include routing and setup examples.

Andrew

--
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+unsubscribe@googlegroups.com.
To post to this group, send email to django...@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/3c426628-13da-4ad3-8e4c-3e8938ab0c8d%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

John Wayne

unread,
Dec 4, 2017, 10:56:50 AM12/4/17
to Django users
Hi Andrew,

first of all thanks for your reply. With your answer and the information from your blog I was able to get my asgi application running. 

Now I want to route all http traffic to django's viewsystem back as i dont need channel's http handling. On your blog you posted this snippet

application = ProtocolTypeRouter({
    "http": URLRouter([
        url("^", DjangoViewSystem),
    ]),

But how should the DjangoViewSystem class look like? There is no such file included.


John

On Friday, December 1, 2017 at 6:22:06 PM UTC+1, Andrew Godwin wrote:
Hi John,

It's not in an end-user-useable state quite yet, so apologies for it being hard to install. Crucially, the docs on ASGI_APPLICATION aren't written yet as I'm still working on authentication stuff!

A brief guide is:

 - Make an asgi.py as specified in http://channels.readthedocs.io/en/2.0/deploying.html
 - Make a channels.routing.ProtocolTypeRouter in your project's routing.py and configure this as needed (you'll have to read the code for now)
 - Point ASGI_APPLICATION to that root router.

I'll have a lot more docs and stuff coming soon as I start prepping Channels 2 for a beta release, which will include routing and setup examples.

Andrew
On Fri, Dec 1, 2017 at 6:03 AM, John Wayne <nrftes...@gmail.com> wrote:
Hi everyone,

I am stuck getting the new channels 2 to a working state. I installed django==2.0rc1,  and channels==2.0.x, daphne==2.0.x, asgiref==2.0.x from the git repo
channels is enabled inside the settings.py. I also created the asgi.py file in the direcotry of the wsgi.py file acording to the docs. But still i get this error

    raise ImproperlyConfigured("Cannot find ASGI_APPLICATION setting.")
django.core.exceptions.ImproperlyConfigured: Cannot find ASGI_APPLICATION setting.

So it seems that ASGI_APPLICATION has to be specified. So after adding the following line:
ASGI_APPLICATION='mytestproject.asgi.application'
and starting ./manage.py runserver it now complains again. So which value is supposed to be there?

      raise ImproperlyConfigured("Cannot find %r in ASGI_APPLICATION module %s" % (name, path))
django.core.exceptions.ImproperlyConfigured: Cannot find 'application' in ASGI_APPLICATION module mytestproject.asgi

I need to stick to version 2 as i want to try out asgigram (https://github.com/andrewgodwin/asgigram).

Thanks

--
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...@googlegroups.com.

Andrew Godwin

unread,
Dec 4, 2017, 12:11:14 PM12/4/17
to django...@googlegroups.com
Hi John,

The ProtocolTypeRouter currently does this for you automatically as long as you don't specify a `http` handler. Otherwise, the ASGI application that runs Django's view system is channels.http.AsgiHandler

Andrew

To unsubscribe from this group and stop receiving emails from it, send an email to django-users+unsubscribe@googlegroups.com.

To post to this group, send email to django...@googlegroups.com.
Visit this group at https://groups.google.com/group/django-users.

Luke Waltman

unread,
Mar 30, 2018, 7:07:29 AM3/30/18
to Django users
Hello Everyone,

I am still having an issue with Channels that was never really solved in an earlier Stackoverflow question...

Why does :

from channels.asgi import get_channel_layer

result in :

from channels.asgi import get_channel_layer
ImportError: No module named asgi

I am using Django (2.03), Channels (2.02) and Python(3.5.1) within a virtual environment.  I also installed asgi_redis.

-Luke

Andrew Godwin

unread,
Mar 30, 2018, 12:49:57 PM3/30/18
to django...@googlegroups.com
That code would be for Channels 1. Channels 2 is an entirely different import set - make sure you are using tutorials or answers specifically for 2.

Andrew

To unsubscribe from this group and stop receiving emails from it, send an email to django-users+unsubscribe@googlegroups.com.

To post to this group, send email to django...@googlegroups.com.
Visit this group at https://groups.google.com/group/django-users.
Reply all
Reply to author
Forward
0 new messages