1
0
mirror of https://github.com/actix/actix-extras.git synced 2024-11-24 07:53:00 +01:00

add README examples/template_tera

This commit is contained in:
ami44 2017-12-30 16:10:29 +01:00
parent 12345004dd
commit 8e580ef7b9
3 changed files with 26 additions and 3 deletions

View File

@ -5,6 +5,6 @@ authors = ["Nikolay Kim <fafhrd91@gmail.com>"]
[dependencies] [dependencies]
env_logger = "0.4" env_logger = "0.4"
actix = "^0.3.1" actix = "^0.3.5"
actix-web = { git = "https://github.com/actix/actix-web.git" } actix-web = { git = "https://github.com/actix/actix-web", features=["signal"] }
tera = "*" tera = "*"

View File

@ -0,0 +1,17 @@
# template_tera
Minimal example of using the template [tera](https://github.com/Keats/tera) that displays a form.
## Usage
### server
```bash
cd actix-web/examples/template_tera
cargo run (or ``cargo watch -x run``)
# Started http server: 127.0.0.1:8080
```
### web client
- [http://localhost:8080](http://localhost:8080)

View File

@ -4,6 +4,8 @@ extern crate env_logger;
#[macro_use] #[macro_use]
extern crate tera; extern crate tera;
use actix_web::*; use actix_web::*;
use actix::Arbiter;
use actix::actors::signal::{ProcessSignals, Subscribe};
struct State { struct State {
template: tera::Tera, // <- store tera template in application state template: tera::Tera, // <- store tera template in application state
@ -30,7 +32,7 @@ fn main() {
let _ = env_logger::init(); let _ = env_logger::init();
let sys = actix::System::new("tera-example"); let sys = actix::System::new("tera-example");
HttpServer::new(|| { let addr = HttpServer::new(|| {
let tera = compile_templates!(concat!(env!("CARGO_MANIFEST_DIR"), "/templates/**/*")); let tera = compile_templates!(concat!(env!("CARGO_MANIFEST_DIR"), "/templates/**/*"));
Application::with_state(State{template: tera}) Application::with_state(State{template: tera})
@ -40,6 +42,10 @@ fn main() {
.bind("127.0.0.1:8080").unwrap() .bind("127.0.0.1:8080").unwrap()
.start(); .start();
// Subscribe to unix signals
let signals = Arbiter::system_registry().get::<ProcessSignals>();
signals.send(Subscribe(addr.subscriber()));
println!("Started http server: 127.0.0.1:8080"); println!("Started http server: 127.0.0.1:8080");
let _ = sys.run(); let _ = sys.run();
} }