这个时候访问 http://localhost:3000/hosts/first-post 就能看见页面了。...index.tsx 第一篇文章 a 点击这里 link 点击这里 /posts/first-post.tsx // 回到首页 a 点击这里... link 点击这里 点击 a 标签,每次进入 first-post、index 页面,浏览器都会重新请求所有的 html、css、js...Next.js API 到现在为止,我们的 index 和 posts/first-post 都是 HTML 页面。
= user.posts.order_by(Post.timestamp.desc()).all() return render_template('user.html', user=user, posts...=posts) @main.route('/post/') def post(id): post = Post.query.get_or_404(id) return render_template...('post.html', posts=[post]) @main.route('/edit/', methods=['GET', 'POST']) @login_required...image.png 11 app/templates/_posts.html {% for post in posts %} {% endfor %} 12 app/templates/post.html {% extends "base.html" %} {%
in posts %} {{ post.author.username }} says: {{ post.body }} {% endfor %...=posts) 我们来一个个地解读该视图函数的变更: 导入Post和PostForm类 关联到index视图函数的两个路由都新增接受POST请求,以便视图函数处理接收的表单数据 处理表单的逻辑会为post...如果当前页面位于用户动态集合的末尾或者开头,那么Pagination实例的has_next或has_prev属性将为'False',在这种情况下,将设置该方向的链接为None。...现在让我们把它们渲染在index.html模板上,就在用户动态列表的正下方: ... {% for post in posts %} {% include '_post.html...最后,对user.html模板的更改与我在主页上所做的更改相同: ... {% for post in posts %} {% include '_post.html' %}
这段代码比较简单,遍历srcs目录中的*.md文件,然后交给md_processor去解析 proc write_posts(): seq[JsonNode] = var post: JsonNode...["tag_links"].add p var json_post = %* new_post var content = templates.renderTemplate("post.html..., summary, tag_cloud: string for key, post in posts: if "Summary" in post: summary...) 最后的工作,写个main函数 proc main()= var posts = write_posts() posts = sort_posts(posts) write_index...(posts) 开始编译吧!
Future posts will teach you about data science....Future posts will teach you about data science. 这比处理 HTML 文件要简单的多!...把下边的内容添加到 ipynb-meta 文件中,但是根据你自己的文章修改相应字段: Title: First Post Slug: first-post Date: 2016-06-08 20:00...Category: posts Tags: python firsts Author: Vik Paruchuri Summary: My first post, read it to find out...如果 slug 是 first-post,而且你的服务器地址是 jupyter-blog.com, 你可以在 http://www.jupyter-blog.com/first-post 这个地址找到你的文章
修改Flask_Blog\flaskblog\routes.py,删除掉原来测试的posts列表,添加新增、修改、删除、查询帖子的方法,修改home方法添加查询全部帖子的方法: ? ? ?...在Flask_Blog\flaskblog\templates新建一个文件create_post.html: ?...在Flask_Blog\flaskblog\templates新建一个文件post.html: ?
/yt8yt.github.io.git branch: master 配置watch监控文件改动 $ hexo generate --watch 创建新博客文章 $ hexo new first-post...使用markdown语言编辑博客文章 删除source/_posts/hello-world.md 发布!
root: / permalink: :year/:month/:day/:title/ permalink_defaults: 接下来,修改 default_layout,该字段位于在 Writing...# Writing new_post_name: :title.md # File name of new posts default_layout: draft # 原来的值是 post titlecase...hexo new first-post 你会看到类似如下输出: INFO Created: ~\Workspace\Git\hexo_blog\source\_drafts\first-post.md...然后,通过如下命令发布博客: hexo publish first-post 输出类似下面这样: INFO Published: ~\Workspace\Git\hexo_blog\source\_...posts\first-post.md 博客推送到服务器之后,就可以在网站上访问了。
List templates can contain multiple groups....Add Content to the Posts We’re working with posts, which are in the content/post/ directory..../first-post/index.html -rw-rw-r-- 1 mdhender staff 0 Sep 27 15:08 public/post/index.html -rw-rw-r.../second-post/">second first</h1.../first-post/index.html -rw-rw-r-- 1 mdhender staff 0 Sep 27 15:33 public/post/index.html -rw-rw-r
= db.Column(db.Integer, db.ForeignKey('posts.id')) @staticmethod def on_changed_body(target, value.../', methods=['GET', 'POST']) def post(id): post = Post.query.get_or_404(id) form = CommentForm...return redirect(url_for('.post', id=post.id, page=-1)) page = request.args.get('page', 1, type=int)...['FLASKY_COMMENTS_PER_PAGE'],error_out=False) comments = pagination.items return render_template('post.html...', posts=[post], form=form,comments=comments, pagination=pagination) @main.route('/moderate') @login_required
Future posts will teach you about data science....通过静态网站生成器,我们可以将first-post.html简化为first-post.md: # First post!...Future posts will teach you about data science. 这要比手写HTML要容易得多!...Title: First Post Slug: first-post Date: 2016-06-08 20:00 Category: posts Tags: python firsts Author:...如果slug是first-post, 你的服务器是jupyter-blog.com, 那么你可以通过http://jupyter-blog.com/first-post来进行访问。
# Writing new_post_name: :title.md # File name of new posts default_layout: draft titlecase: false...第3步 - 创建和发布新帖子 创建帖子(或草稿,如我们之前配置的)的过程首先发出以下命令,其中first-post是您要发布的帖子的名称。...hexo new first-post 您应该看到以下输出: INFO Created: ~/hexo_blog/source/_drafts/first-post.md 打开新帖子进行编辑。...hexo publish first-post 这导致: INFO Published: ~/hexo_blog/source/_posts/first-post.md 一旦我们开始托管博客,该帖子现在将可见...资源 您发布并希望公开显示的帖子会保留在其_posts中,一旦生成,该_drafts文件夹以及任何其他用户创建的页面也会在此处生效。
): if filename.endswith('.md'): post_data = parse_post(filename) posts.append...if 'category' in post_data: categories.add(post_data['category']) return posts,...post_titles, categories def deploy(): posts, post_titles, categories = generate_site_data()...os.makedirs(output_dir, exist_ok=True) for post in posts: html = env.get_template('post.html...').render( content=post['content'], posts=post_titles, # 传递文章标题列表
我现在要做的是在任何不是当前用户的首选语言的用户动态下,添加一个“翻译”链接 app/templates/_post.html:给用户动态添加翻译链接 {% if post.language and...如果你查看*_post.html*模板,则呈现用户动态正文的行只会读取{{post.body}}。我要做的是将这些内容包装在一个元素中。...这不会在视觉上改变任何东西,但它给了我一个可以插入标识符的地方: app/templates/_post.html:给每条用户动态添加ID {...我要做的是将“翻译”链接替换为翻译文本,因此我还需要为该节点提供唯一标识符: app/templates/_post.html:为翻译链接添加ID <span id="translation{{ <em>post</em>.id...存在若干方法可以做到这一点,我要做的是将该函数的调用嵌入链接的href属性中: app/templates/_<em>post.html</em>:翻译链接处理器 <span id="translation{{ post.id
→ /blog/first-post pages/dashboard/settings/username.js → /dashboard/settings/username 动态路由 类似的,动态路由也要在.../:slug (/blog/hello-world) pages/[username]/settings.js → /:username/settings (/foo/settings) pages/post.../[...all].js → /post/* (/post/2020/id/title) 路径中变化的参数通过getStaticPaths来填充: // pages/posts/[id].js export...pre-rendering' } }], fallback: false } } 进一步传递给getStaticProps按参数获取数据,并渲染页面: // pages/posts.../posts') const posts = await res.json() return { props: { posts, }, // 设置有效期,开启
05 渲染用户动态 单条用户动态的渲染逻辑被提取到名为*_post.html*的子模板中。我只需要在这个模板上做一些很小的调整,就可以使其在Bootstrap下看起来很棒了。...app/templates/_post.html: 重新设计后的用户动态子模板。...{{ post.body }} 06 渲染分页链接 分页链接是Bootstrap提供直接支持的另一个方面。... ← Newer posts...next_url %} disabled{% endif %}"> Older posts
about.md ├── assets │ └── images ├── \_config.yml ├── Gemfile ├── Gemfile.lock ├── index.md └── \_posts...使用命令行执行此操作: cat example\_notebook.md | tee -a exampleblog/\_posts/YYYY-MM-DD-example-post.md 修改Markdown...│ └── scripts.html ├── \_layouts │ ├── default.html │ ├── home.html │ ├── page.html │ └── post.html...config=TeX-AMS-MML\\\\\\\\\\\\\_HTMLorMML"> {% endif %} 4.添加模板到_layouts/post.html以便在帖子中包含scripts.html...编辑/exampleblog/_posts/YYYY-MM-DD-example-post.md标题。
> Posts { get; set; } } // Principal Entity 从表 public class Post { public int PostId { get; set;...> Posts { get; set; } } // Dependent Entity 主表 public class Post { public int PostId { get; set;...> Posts { get; set; } } 示例 一对多 ?...string Url { get; set; } public List Posts { get; set; } } public class Post { public...> Posts { get; set; } } 迁移的时候会自动生成中间表 联接实体类型配置 HasMany modelBuilder .Entity() .HasMany
> Posts { get; set; } } // Principal Entity 从表 public class Post { public int PostId { get; set;...> Posts { get; set; } } // Dependent Entity 主表 public class Post { public int PostId { get; set;...public List Groups { get; set; } 迁移 dotnet ef migrations add ProjectGroupCollectionProperty...string Url { get; set; } public List Posts { get; set; } } public class Post { public...> Posts { get; set; } } 迁移的时候会自动生成中间表 联接实体类型配置 HasMany modelBuilder .Entity() .HasMany(
=>'admin/structures', 'admin/posts' =>'admin/posts', ], // 【基础】登录 'admin/base/login' => ['admin/base/...enables' => ['admin/rules/enables', ['method' => 'POST']], // 【用户组】批量删除 'admin/groups/deletes' => ['admin.../groups/deletes', ['method' => 'POST']], // 【用户组】批量启用/禁用 'admin/groups/enables' => ['admin/groups/enables...['admin/structures/enables', ['method' => 'POST']], // 【部门】批量删除 'admin/posts/deletes' => ['admin/posts.../deletes', ['method' => 'POST']], // 【部门】批量启用/禁用 'admin/posts/enables' => ['admin/posts/enables', ['method
领取专属 10元无门槛券
手把手带您无忧上云