文档章节

Django后台:少量代码,实现强大的网站后台

巴鲁
 巴鲁
发布于 2015/09/28 08:45
字数 831
阅读 1527
收藏 1

Django的后台只需要少量代码,就可以实现强大功能.
本文章以Django 1.8.4位版本测试,基于python3.4,Ubuntu 14.10.以root账户运行.以后台添加博客位例子.

1.新建一个名称为blog_project的账户,和名为blog的app

#django-admin startproject blog_project
#cd blog_project
#django-admin startapp blog

2.将blog添加到setting.py文件中的INSTALLED_APPS中

#vim blog_project/setting.py
INSTALLED_APPS = (
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
    'blog',
)

3.修改blog文件夹中的models.py,建立数据库

# coding:utf-8
from django.db import models 
class Article(models.Model):    
    title = models.CharField(u'标题', max_length=256)    
    content = models.TextField(u'内容')     
    pub_date = models.DateTimeField(u'发表时间', auto_now_add=True, editable = True)    
    update_time = models.DateTimeField(u'更新时间',auto_now=True, null=True)
    def __str__ (self):#在Python2中用__unicode__替换__str__        
        return self.title

4.同步所有的数据表

#python3 manage.py syncdb
#python3 manage.py makemigrations
#python3 manage.py migrate

显示以下内容,下面黄色标记的部分是添加后台的superuser,添加你自己的账号就好.当然添加superuser还有别的方法,下面我们会详细介绍.

#python3 manage.py syncdb


Operations to perform:
  Synchronize unmigrated apps: staticfiles, gunicorn, messages
  Apply all migrations: sessions, auth, contenttypes, admin
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


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 'root'): tu
Email address: liyuelumia@live.cn
Password:
Password (again):
Superuser created successfully.

# python3 manage.py makemigrations     
Django1.7版本以上需要运行这两个命令

Migrations for 'blog':
  0001_initial.py:
    - Create model Article

# python3 manage.py migrate

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

5.添加superuser账户

除了上面同步数据时默认添加superuser账户的方法外,还有其他的添加方法.需要运行Django命令.

(1)新建一个用户名,使用如下命令:

#python3 manage.py createsuperuser

(2)输入打算使用的登录名:

Username(leave blank to use 'administrator'):user01

(3)输入email:

Email address:

(4)输入密码,需要输入两次,输入过程中密码不显示:

Password:

Password(again):

(5)当两次密码都相同的时候,就会提示superuser创建成功。

Superuser created successfully

6.修改admin.py

进入blog文件夹,修改admin.py文件,编辑内容如下:

from django.contrib import admin
from .models import Article
admin.site.register(Article)

只需要这三行代码,就能创建强大的后台!同时,urls.py中关于admin的url已经默认开启,所以启动服务器,就可以访问后台了.

#python3 manage.py runserver

访问http://localhost:8000/admin/

输入之前设定的superuser的账号密码,就能登录后台了.

7.使用nginx部署Django时,有时候会出现后台样式丢失的情况.比如:

出现这种情况的原因是,Nginx配置静态地址错误.进入/etc/nginx/sites-available/default文件,添加:

location /static/ {
            alias /usr/local/lib/python3.4/dist-packages/django/contrib/admin/static/; 

}

这样刷新页面,就会显示带有CSS样式的后台页面.







© 著作权归作者所有

巴鲁
粉丝 8
博文 23
码字总数 12631
作品 0
本溪
程序员
私信 提问
Django学习-000

Django 特点 1.强大的数据库功能 用python的类继承,几行代码就可以拥有一个丰富,动态的数据库操作接口(API),如果需要你也能执行SQL语句 2.自带的强大的后台功能** 几行简单的代码就让你...

clgo
2016/04/25
21
0
Django-001简介

Django 中提供了开发网站经常用到的模块,常见的代码都为你写好了,通过减少重复的代码,Django 使你能够专注于 web 应用上有 趣的关键性的东西。为了达到这个目标,Django 提供了通用Web开发...

丰_申
2016/03/15
5
0
Django简单介绍和用户访问流程和项目示例

Python下有许多款不同的 Web 框架。Django是重量级选手中最有代表性的一位。许多成功的网站和APP都基于Django。Django是一个开放源代码的Web应用框架,由Python写成。Django遵守BSD版权,初次...

枫叶云
2018/12/17
147
0
Django 扩展User 编写自己的认证后台

前言 今天用django写web平台,需要用到账号管理,当然第一时间就想到Django的强大的User模型,各种权限的控制,session的管理都速度解决了。但是Django的管理系统与自己的后台数据库User对象是...

snakelxc
2013/07/17
10.7K
5
django admin应用开发(1) 之 引言

第一节 引言 1.1 准备知识 Python&Django配置 Django官方主页:www.djangoproject.com 开发IDE,个人倾向于PyCharm,在这里可以快速的学习到一些Django使用技巧。 1.2 什么是应用(APP) 要想...

Kinegratii
2014/04/04
279
0

没有更多内容

加载失败,请刷新页面

加载更多

java快递电子面单打印接口对接demo

之前的后天管理系统的电子面单打印使用的是灵通打单。 使用相对比较麻烦,需要到处Excel之后再导入,麻烦。 快递鸟有电子面单api,后台系统直接对接很是方便,不过也遇到了好些问题。 不难是...

程序的小猿
21分钟前
3
0
fasjtjson文档

https://github.com/alibaba/fastjson/wiki/JSONField

jirak
22分钟前
3
0
Mybatis中插入多条记录

Oracle数据库 实现方法 <insert id="saveWithdrawLog"> INSERT ALL INTO OSM_TRADE_DETAIL(SID,MBR_ID,USR_ID,TRADE_MONEY,TRADE_TYPE,TRADE_TIME,TRADE_WAY,PAY_ID) VALUES(#{si......

豫华商
22分钟前
3
0
Flink on YARN(下):常见问题与排查思路

作者:杨弢(搏远) Flink 支持 Standalone 独立部署和 YARN、Kubernetes、Mesos 等集群部署模式,其中 YARN 集群部署模式在国内的应用越来越广泛。Flink 社区将推出 Flink on YARN 应用解读...

开源中国小二
24分钟前
3
0
技术沙龙|京东云端到端多媒体关键技术揭秘

编者按:从带来更高编码效率、更好的用户体验的京享高清,到直播架构与网络演进优化,从而为用户带来更流畅的观看体验,以及运维系统的异常自动修复和高弹性的多媒体存储架构,一层一层展示出...

京东云技术新知
24分钟前
3
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部