Popularity
3.0
Growing
Activity
0.0
Stable
20
2
3

Monthly Downloads: 20
Programming language: Elixir
License: MIT License
Latest version: v0.3.2

exdjango alternatives and similar packages

Based on the "Framework Components" category.
Alternatively, view exdjango alternatives based on common mentions on social networks and blogs.

Do you think we are missing an alternative of exdjango or a related project?

Add another 'Framework Components' Package

README

ExDjango

Travis Hex.pm Hex.pm

An elixir library for working with django

Warning: This is Alpha software and subject to breaking changes.

Features

  • Django cookie-based sessions
  • Django redis cache sessions
  • Django pbkdf2_sha256 passwords

Installation

Add ex_django to your mix.exs dependencies other dependencies are optional depending on what features you want to use.

defp deps do
[ {:exdjango, "~> 0.4.0"} ]
end

If you need sessions you need to add poison

{:poison, "~> 3.0"},

If you need to read/write django passwords you need to add comeonin

{:comeonin, "~> 3.0"},

Django sessions

Add secret_key to config.exs and add either Cookie or Redis to endpoint.ex Plug config

# config.exs
config :exdjango, :config,
  secret_key: "django-secret-key"

# endpoint.ex
plug Plug.Session,
  store: ExDjango.Session.Cookie,
  key: "sessionid"

or

# config.exs
config :exdjango, :config,
  secret_key: "django-secret-key"
  redis_pool: MyApp.RedixPool

# endpoint.ex
plug Plug.Session,
  store: ExDjango.Session.Redis,
  key: "sessionid"

To use Redis session you need a redis connection pool see https://github.com/whatyouhide/redix for more information.

Set user / get user_id ("_auth_user_id" from django session)

conn
 |> ExDjango.Session.put_user(user)

conn
 |> ExDjango.Session.get_user_id()

Django passwords

ExDjango.Pbkdf2.checkpw(password, user.password)

changeset
|> put_change(:password, ExDjango.Pbkdf2.hashpwsalt(changeset.params["plaintext_password"]))
|> repo.insert()