您的位置:时时app平台注册网站 > 时时app平台注册网站 > django 简易博客开垦 1 安装、创造、配置、admin使

django 简易博客开垦 1 安装、创造、配置、admin使

2019-11-03 12:55

10、创建博客的展示页面

http://127.0.0.1:8000/admin

二 ,运行开发服务器

14、编写基础模板,让其他模板来继承

时时app平台注册网站 1;)

from django.conf.urls import *
from blog.views import archive

urlpatterns = patterns('',
                      url(r'^$',archive),
                      )
from django.contrib import admin

from blog.models import BlogPost


class BlogPostAdmin(admin.ModelAdmin):
    list_display = ['title', 'timestamp']

admin.site.register(BlogPost, BlogPostAdmin)

时时app平台注册网站 2;)

在blog目录下建立template目录(mysite/blog/templates),创建模板文件archive.html,它的内容如下:

 

#coding=utf-8
from django.conf.urls import patterns, include, url
from django.contrib import admin

urlpatterns = patterns('',
    url(r'^admin/', include(admin.site.urls)),
    url(r'^index/$', 'blog.views.index'),
)

修改blog 应用下的models.py,为BlogPost添一个Meta嵌套类。如下:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>基础页面</title>
    <style type="text/css">
        body {
            color: #efd;
            background: #453;
            padding: 0 5em;
            margin: 0;
        }
        h1 {
            padding: 2em 1em;
            background: #675;
        }
        h2 {
            color: #bf8;
            border-top: 1px dotted #fff;
            margin-top: 2em;
        }
        p {
            margin: 1em 0;
        }
    </style>
</head>
<body>
    <h1>mysite.example.com</h1>
    {% block content %}
    {% endblock %}
</body>
</html>

 

在最后添一行代:

1、新建项目

 

第一步,在mysite/urls.py里面取消下面的一行注释:

 

 

from django.db import models
from django.contrib import admin

# Create your models here.
class BlogPost(models.Model):
    title = models.CharField(max_length = 150)
    body = models.TextField()
    timestamp = models.DateTimeField()

class BlogPostAdmin(admin.ModelAdmin):
    list_display = ('title','timestamp')

admin.site.register(BlogPost,BlogPostAdmin)

 

 

models.py完整的代如下:

依次输入用户名,邮箱,密码即可。

时时app平台注册网站 3;)

1,创建模板

<p>{{ post.timestamp | date }}</p>

 

from django.db import models

# Create your models here.
class BlogPost(models.Model):
    title = models.CharField(max_length = 150)
    body = models.TextField()
    timestamp = models.DateTimeField()

6、创建表

 

2,编辑mysite/mysite/settings.py,在INSTALLED_APPS里面添blog应用。

在blog目录下新建templates目录,然后在templates目录下新建archive.html文件。

 

  • posts = BlogPost.objects.all() :获取数据库里面所拥有BlogPost对象

  • t = loader.get_template("archive.html"):载模板

  • c = Context({'posts':posts}):模板的渲染的数据是有一个字典类的对象Context提供,这里的是一对键值对。

{% for post in posts %}
    <h2>{{ post.title }}</h2>
    <p>{{ post.timestamp | date }}</p>
    <p>{{ post.body }}</p>
{% endfor %}

blog_list = BlogPost.objects.all() :获取数据库里面所拥有BlogPost对象

用编辑器打开models.py

访问

 

时时app平台注册网站 4

 

时时app平台注册网站 5

时时app平台注册网站 6

Pycharm 2018.1

  python 自带SQLite数据库,Django支持各种主流的数据库,这里为了方便推荐使用SQLite,如果使用其它数据库请在settings.py文件中设置。

class BlogPost(models.Model):
    title = models.CharField(max_length = 150)
    body = models.TextField()
    timestamp = models.DateTimeField()

    class Meta:
        ordering = ('-timestamp',)<br>

以上就是使用django开发web应用的一般流程。

 

新添BlogPost类,代如下:

使用Pycharm的tools菜单下的Run manage.py Task,在弹出的窗口中输入以下命令:

创建blog的URL模式                                                                            

七,试用admin

 

Python Django 快速Web应用开发入门 :

admin.site.register(BlogPost)<br>
from django.template import loader
from django.http import HttpResponse
from blog.models import BlogPost


def archive(request):
    posts = BlogPost.objects.all()
    t = loader.get_template('archive.html')
    return HttpResponse(t.render({'posts': posts}))

Operations to perform:   Synchronize unmigrated apps: staticfiles, messages   Apply all migrations: admin, contenttypes, auth, sessions Synchronizing apps without migrations:   Creating tables...     Running deferred SQL...   Installing custom SQL... Running migrations:   Rendering model states... DONE   Applying contenttypes.0001_initial... OK   Applying auth.0001_initial... OK   Applying admin.0001_initial... OK   Applying contenttypes.0002_remove_content_type_name... OK   Applying auth.0002_alter_permission_name_max_length... OK   Applying auth.0003_alter_user_email_max_length... OK   Applying auth.0004_alter_user_username_opts... OK   Applying auth.0005_alter_user_last_login_null... OK   Applying auth.0006_require_contenttypes_0002... OK   Applying sessions.0001_initial... OK

刷新浏览器可以看到效果如下:

在templates下新建base.html文件,内容如下:

 

三,创建Blog应用

{% extends 'base.html' %}
{% block content %}
    {% for post in posts %}
        <h2>{{ post.title }}</h2>
        <p>{{ post.timestamp}}</p>
        <p>{{ post.body }}</p>
    {% endfor %}
{% endblock %}
from django.db import models
from django.contrib import admin

# Create your models here.
class BlogsPost(models.Model):
    title = models.CharField(max_length = 150)
    body = models.TextField()
    timestamp = models.DateTimeField()

class BlogPostAdmin(admin.ModelAdmin):
    list_display = ('title','timestamp')

admin.site.register(BlogsPost,BlogPostAdmin)
<html>
  <style type="text/css">
    body{color:#efd;background:#453;padding:0 5em;margin:0}
    h1{padding:2em 1em;background:#675}
    h2{color:#bf8;border-top:1px dotted #fff;margin-top:2em}
    p{margin:1em 0}
  </style>

  <body>
    <h1>my blog</h1>
    {% block content %}
    {% endblock %}
  </body>
</html>

17、启动web服务器,检查效果

3、启动django容器

最后,在浏览器输入如下地址

7、创建超级用户(用于登录admin平台)

本操作的环境:

刷新浏览器,如下:

管道后面通过date函数来进行过滤。

输入用户、密码,用户名密码为第一次创建数据库时创建的。回想“设置数据库”时的设置。

在blog目录下的models.py是blog应用的心文件之一,是定义blog数据结构的地方。

在Run manage.py Task中分别执行:

创建mysite工程项目:

  mysite
    ├── manage.py
    └── mysite
        ├── __init__.py
        ├── settings.py
        ├── urls.py
        └── wsgi.py

13、启动web服务器,查看效果

再次刷新博客页面:

python manage.py runserver

11、创建视图函数

创建基础模板

1,打开mysite/mysite/urls.py,取消注释url(r'^admin/', include(admin.site.urls))

 

  admin 是Django 自带的一个后台管理系统。

  • 一个模板(template):模板负责把递进来的信息显示出来。

  • 一个视图(viw):视图负责从数据库获取需要显示的信息。

  • 一个URL模式:它负责把收到的请求和的试图函数匹配,有时候也会向视图递一些参数。

 

C:Python27libsite-packagesdjangocoremanagementcommandssyncdb.py:24: RemovedInDjango19Warning: The syncdb command will be removed in Django 1.9   warnings.warn("The syncdb command will be removed in Django 1.9", RemovedInDjango19Warning)

九,最后的润色

 

 

时时app平台注册网站 7

输入用户名密码即可。

 

文章出处: class="Apple-converted-space"> 开源中国 class="Apple-converted-space"> 
文章地址: class="Apple-converted-space">  class="Apple-converted-space"> 
本文地址: class="Apple-converted-space">  class="Apple-converted-space"> 
本文由 class="Apple-converted-space"> 噜吧 class="Apple-converted-space"> 整理,转载请保留以上信息; 如有侵犯您的版权, 请联系微信: 3715397 。

 

设置admin应用                                                                                   

要马上查看django项目应用的运行,可以使用Django项目里的mange.py

4、编写第一个Model

 

打开浏览器,输入访问地址:127.0.0.1:8000

migrate

 

python manage.py syncdb<br>

 

创建模板                                                                                                 

在app应用的目录下的view.py添视图函数

12、配置URL路径

 

url(r'^blog/', include('blog.urls')),

 

在列表末尾,添加blog 应用

3 ,打开浏览器,输入http://127.0.0.1:8000/admin/,输入刚才创建数据库时候填写的帐号就能进入admin界面。

在Run manage.py Task中执行如下命令:

一个视图(view):视图负责从数据库获取需要显示的信息。

添后的代如下:

2、新建应用

python 2.7

第二步:在blog应用里面定义URL,创建一个urls.py(mysite/blog/urls.py)

from django.contrib import admin
from django.urls import path, include

urlpatterns = [
    path('admin/', admin.site.urls),
    path('blog/', include('blog.urls'))
]

在mysite/blog/templates目录里创建base.html的模板:

{% for post in posts %}
<h2>{{ post.title }}</h2>
<p>{{ post.timestamp }}</p>
<p>{{ post.body }}</p>
{% endfor%}

 

 

把它变成:

makemigrations

{% for post in posts %}
    <h2>{{ post.title }}</h2>
    <p>{{ post.timestamp }}</p>
    <p>{{ post.body }}</p>
{% endfor%}
  {% extends "base.html" %}
  {% block content %}
  {% for post in posts %}
  <h2>{{  post.title }}</h2>
  <p>{{ post.timestamp | date:"1,F jS"}}</p>
  <p>{{ post.body }}</p>
  {% endfor %}
  {% endblock %}

5、设置数据库

 

2,让admin的BlogPost界面更美观

INSTALLED_APPS = [

  'blog',

]

 

1,模板的精确定位

9、启动web服务器

初始化admin后台数据库                                                                                               

出现下面的提示,输入yes,然后按照提示输入相关的信息。完成后会生成一个数据库文件db.sqlite3

 

时时app平台注册网站 8

1, 为blog创建名为mysite的工程项目:

然后修改子URL文件:应用blog下的urls.py文件,没有就新建,与views.py同级。

from django.conf.urls import include, url
from django.contrib import admin

urlpatterns = [
    url(r'^admin/', include(admin.site.urls)),
]

完成:

可以看到表被生成了。

时时app平台注册网站 9

# Application definition INSTALLED_APPS = (    'django.contrib.admin',    'django.contrib.auth',    'django.contrib.contenttypes',    'django.contrib.sessions',    'django.contrib.messages',    'django.contrib.staticfiles',    'blog', )<br>
blog

  migrations

  __init__.py

  admin.py

  apps.py

  models.py

  tests.py

  views.py

 

四,设计的Model

 

 

3,创建一个URL模式

createsuperuser

创建BlogPostAdmin类,继承admin.ModelAdmin父类,以列表的形式显示BlogPost的标题和时间。

Dajango支持主流的数据库服务器(MySQL,PostgreSQL,Oracle和MSSQL),但本项目使用SQLite,这里之需要通过一条简单的命令可以创建SQLite数据库。

直接使用Pycharm的菜单来创建项目,命名为mysite。

 

1, 点击Blog Posts右侧的Add 按钮,添一个帖子。

一般使用默认的sqlite即可,也可以使用mysql。在settings.py中设置。

 

六,设置自动admin应用

8、注册BlogPost应用

===================

├── blog
│   ├── admin.py
│   ├── __init__.py
│   ├── models.py
│   ├── tests.py
│   └── views.py

软件环境

时时app平台注册网站 10;)

切换到工程主目录mysite/下,执行如下命令:

 

render_to_response()返回一个页面(index.html),顺带把数据库中查询出来的所有博客内容(blog_list)也一并返回。

创建数据库:

from blog.views import archive
from django.urls import path

urlpatterns = [
    path('', archive)
]

时时app平台注册网站 11;)

时时app平台注册网站 12

15、重新修改archive.html文件

时时app平台注册网站 13

修改blog应用的models.py,为它添一个admin.ModelAdmin的子类BlogPostAdmin.以列表形式显示BlogPost的题和时间。

 

从Django的角度看,一个页面具有三个典型的组件:

from django.shortcuts import render
from django.template import loader,Context
from django.http import HttpResponse
from blog.models import BlogPost

# Create your views here.

def archive(request):
    posts = BlogPost.objects.all()
    t = loader.get_template("archive.html")
    c = Context({'posts':posts})
    return HttpResponse(t.render(c))

Python 3.6

D:pydjmysite>python manage.py makemigrations blog
Migrations for 'blog':
  0001_initial.py:
    - Create model BlogsPost

D:pydjmysite>python manage.py syncdb
C:Python27libsite-packagesdjangocoremanagementcommandssyncdb.py:24: RemovedInDjango19Warning: The syncdb command will be removed in Django 1.9
  warnings.warn("The syncdb command will be removed in Django 1.9", RemovedInDjango19Warning)

Operations to perform:
  Synchronize unmigrated apps: staticfiles, messages
  Apply all migrations: admin, blog, contenttypes, auth, sessions
Synchronizing apps without migrations:
  Creating tables...
    Running deferred SQL...
  Installing custom SQL...
Running migrations:
  Rendering model states... DONE
  Applying blog.0001_initial... OK

时时app平台注册网站 14

startapp blog

时时app平台注册网站 15;)

时时app平台注册网站 16

编辑blog下的models.py文件,输入:

  打开mysite/blog/models.py 文件,做如下修改:

from django.db import models
from django.contrib import admin

# Create your models here.
class BlogPost(models.Model):
    title = models.CharField(max_length = 150)
    body = models.TextField()
    timestamp = models.DateTimeField()

admin.site.register(BlogPost)

Django 2.0.3

Windows 7/10

2,修改archive.html模板,让它引用base.html模板和它的“content”块。

mysite

  mysite

    __init__.py

    settings.py

    urls.py

    wsgi.py

  templates

  manage.py

manage.py ----- Django项目里面的工具,通过它可以调用django shell和数据库等。

BlogPost类是django.db.models.Model的一个子类 。它有变量title(blog的题),body(blog的内容部分),timestamp(blog的发表时间)。

先修改总URL文件:项目下的urls.py文件,与settings.py同级。

一个模板(template):模板负责把传递进来的信息显示出来。

python manage.py startapp blog

16、模板中的过滤器

当然,读者可以继续到admin后台添加blog,从而刷新这个页是否显示新添加的blog。

时时app平台注册网站 17

from django.db import models


class BlogPost(models.Model):
    title = models.CharField(max_length=150)
    body = models.TextField()
    timestamp = models.DateTimeField()

    class Meta:
        ordering = ['-timestamp']

 

在mysite/blog/templates目录里创建一个叫base.html的模板

 

<html>
      <style type="text/css">
        body{color:#efd;background:#453;padding:0 5em;margin:0}
        h1{padding:2em 1em;background:#675}
        h2{color:#bf8;border-top:1px dotted #fff;margin-top:2em}
        p{margin:1em 0}
      </style>

      <body>
        <h1>虫师blog</h1>
        <h3>大人不华,君子务实</h3>
        {% block content %}
        {% endblock %}
      </body>
</html>
  • manage.py ----- Django项目里面的工具,通过它可以调用django shell和数据库等。

  • settings.py ---- 包含了项目的默认设置,包括数据库信息,调试志以及其他一些工作的变量。

  • urls.py ----- 负责把URL模式射到应用程序。

 

 

一,创建项目

3、将blog应用加到setting.py文件中的INSTALLED_APPS中

时时app平台注册网站 18

为了在admin管理平台上直接添加、删除文章,我们需要编辑admin.py文件:

一个URL模式:它负责把收到的请求和你的试图函数匹配,有时候也会向视图传递一些参数。

2, 项目结构如下:

 

  Django 自称是“最适合开发有限期的完美WEB框架”。本文参考《Django web开发指南》,快速搭建一个blog 出来,在中间涉及诸多知识点,这里不会详细说明,如果你是第一次接触Django ,本文会让你在感性上对Django有个认识,完成本文操作后会让你有兴趣阅读的相关书籍和文档。

从Django的角度看,一个页面具有三个典型的组件:

时时app平台注册网站 19

 django-admin.py startproject mysite

时时app平台注册网站 20;)

3,按日期排序

D:pydjmysite>python manage.py runserver
Performing system checks...

System check identified no issues (0 silenced).
October 04, 2015 - 20:56:45
Django version 1.8.2, using settings 'mysite.settings'
Starting development server at http://127.0.0.1:8000/
Quit the server with CTRL-BREAK.
#

 

时时app平台注册网站 21

1、设计model

2,修改mysite/blog/models.py

创建工程                                                                                                         

2,创建一个视图函数

 

五,设置数据库

 

八,建立Blog的公共部分

django 简易博客开垦 1 安装、创造、配置、admin使用(转卡塔尔时时app平台注册网站。  登陆成功选择add 创建博客

blog应用文件结构如下:

《Django Web开发指南》 第二章

切换到工程目录,执行运行服务器命令:

再次启动服务($ python manage.py runserver),访问blog应用()。

时时app平台注册网站 22

from django.db import models
from django.contrib import admin

# Create your models here.
class BlogsPost(models.Model):
    title = models.CharField(max_length = 150)
    body = models.TextField()
    timestamp = models.DateTimeField()

admin.site.register(BlogsPost)
{% extends "base.html" %}
  {% block content %}
      {% for post in posts %}
      <h2>{{  post.title }}</h2>
      <p>{{ post.timestamp | date:"1,F jS"}}</p>
      <p>{{ post.body }}</p>
      {% endfor %}
  {% endblock %}

时时app平台注册网站 23;)

 

目录结构:

时时app平台注册网站 24;)

  请系统的学习django web框架,然后在此基础上做更多的扩展,开发自己真正的blog 。

时时app平台注册网站 25;)

===================

Django 1.8.2


参考:

 

D:/pydj> cd mysite

D:/djpy/mysite$ python manage.py startapp blog

创建blog应用                                                                                                  

在blog项目下创建templates目录(mysite/blog/templates/),在目录下创建模板文件index.html,内容如下:

在mysite/urls.py文件里添加blog的url:

创建视图函数                                                                                         

创建blog的公共部分

D:/djpy/mysite$ python manage.py syncdb

 

 

废话少说,come on!!

时时app平台注册网站 26;)

添加样式                                                                                                   

blog:

4、访问后台应用

 

时时app平台注册网站 27;)

 

工程目录结构:

设计Model(即设计数据库表)                                 

  

时时app平台注册网站 28;)

切换到mysite创建数据库:

时时app平台注册网站 29;)

 

 

 

时时app平台注册网站 30;)

django 简易博客开垦 1 安装、创造、配置、admin使用(转卡塔尔时时app平台注册网站。设置admin 的BlogsPost界面                                                             

时时app平台注册网站 31;)

时时app平台注册网站 32;)

urls.py ----- 负责把URL模式映射到应用程序。

时时app平台注册网站 33;)

时时app平台注册网站 34;)

时时app平台注册网站 35;)

2、 再次初始化数据库

 

时时app平台注册网站 36

在mysite目录下创建blog应用

打开mysite/blog/views.py文件:

输入博客标题,正文、日期时间、点击save 创建博客。

3、再次runserver启动服务,访问admin后台,创建文章。

# Application definition

INSTALLED_APPS = (
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
    'blog',
)

 

页面如下:

时时app平台注册网站 37;)

2、在我们创建django项目时,admin就已经创建,打开mysite/mysite/urls.py文件:

D:/djpy> django-admin.py startproject mysite
#coding=utf-8
from django.shortcuts import render
from blog.models import BlogsPost
from django.shortcuts import render_to_response

# Create your views here.
def index(request):
    blog_list = BlogsPost.objects.all()
    return render_to_response('index.html',{'blog_list':blog_list})

settings.py ---- 包含了项目的默认设置,包括数据库信息,调试标志以及其他一些工作的变量。

时时app平台注册网站 38

django 简易博客开垦 1 安装、创造、配置、admin使用(转卡塔尔时时app平台注册网站。 

 

时时app平台注册网站 39;)

 

时时app平台注册网站 40

 

 

You have installed Django's auth system, and don't have any superusers defined. Would you like to create one now? (yes/no): yes Username (leave blank to use 'fnngj'):    用户名(默认当前系统用户名) Email address: fnngj@126.com     邮箱地址 Password:     密码 Password (again):    重复密码 Superuser created successfully.

  现在我们打开blog目录下的models.py文件,这是我们定义blog数据结构的地方。打开mysite/blog/models.py 文件进行修改:

1、添加blog应用,打开mysite/mysite/settings.py 文件:

修改index.html模板,让它引用base.html模板和它的“content”块。

 

本文由时时app平台注册网站发布于时时app平台注册网站,转载请注明出处:django 简易博客开垦 1 安装、创造、配置、admin使

关键词: