Django网站部署前期准备
2018-02-10 21:52
274 查看
建立虚拟环境
(1)创建一个空文件夹,并命名为learning_log
(2)在终端中切换到该文件夹中使用virtualenv ll_env
创建一个虚拟环境,如创建失败请使用pip install virtualenv
命令来安装virtualenv包
(3)完成上述命令后learning_log文件加如下所示
激活虚拟环境
(1)使用source ll_env/bin/activate
命令激活虚拟环境,激活后终端前将出现(ll_env)
注:如果需要停止虚拟环境,请使用
deactivate命令来关闭虚拟环境
安装,新建Django项目
(1)创建并激活虚拟环境之后,我们就可以安装Django了安装命令为pip install django
(2)使用django-admin.py startproject learning_log .
来新建项目(注意不要忽略.,如没有.则manage.py文件将不与ll_env文件夹在同一目录,会影响后期部署)
创建数据库
(1)使用命令python manage.py migrate
来修改数据库,我们将这称为迁移数据库,首次执行将新建一个必要的数据表
查看项目
(1)使用python manage.py runserver
来启动该项目,启动之后便可在http://127.0.0.1:8000/打开该网站,若8000端口被占用可使用python manage.py runserver 8001
使网站在8001端口打开,如仍被占用,请继续向后增加,直至成功,关闭请按ctrl+c
创建应用程序
(1)使用python manage.py startapp learning_logs
命令创建一个名为learning_logs的app,运行后文件夹中将出现learning_logs文件夹
定义模型
(1)打开models.py文件添加以下代码
from django.db import models from django.contrib.auth.models import User # Create your models here. class Topic(models.Model): text = models.CharField(max_length=200) date_added = models.DateTimeField(auto_now_add=True) def __str__(self): return self.text
DateTimeField(auto_now_add=True)是指日期自动添加,[b]str函数表示了该模型的简单显示,该模型的返回值等于text字符串[/b]
激活模型
(1)在settings.py文件中将learning_logs这个app添加
INSTALLED_APPS = [ 'django.contrib.admin', 'django.contrib.auth', 'django.contrib.contenttypes', 'django.contrib.sessions', 'django.contrib.messages', 'django.contrib.staticfiles', #我的应用 'learning_logs', ]
(2)我们使用python manage.py makemigrations
命令,makemigrations是Django确认数据库如何修改,输出表示django创建了一个0001_initial.py的迁移文件,之后使用python manage.py migrate
这种迁移数据库来修改数据库
注:管理数据的正常顺序为:修改models.py,对修改使用makemigrations,最后使用migrate来迁移数据
Django管理网站
(1)创建超级用户,命令为python manage.py createsuperuser
(2)向管理网站注册模型,在admin.py文件中添加以下代码
from django.contrib import admin # Register your models here. from learning_logs.models import Topic,Entry admin.site.register(Topic)
之后登录http://127.0.0.1:8000/admin通过Django的后台来进行网站管理,在这个网站中寻在Topic模型,可以在这里添加Topic
(3)同理我们可以定义一个Entry模型,models.py文件中添加的代码如下
class Entry(models.Model): topic = models.ForeignKey(Topic) text = models.TextField() date_added = models.DateTimeField(auto_now_add=True) class Meta: verbose_name_plural = 'entries' def __str__(self): return self.text[:50] + '...'
这里的str指返回text的前50的字符,Meta指当多个entry时为entries,如没有默认则为entrys
(4)进行数据迁移
(5)向管理网站注册entry,在admin.py中添加以下代码
admin.site.register(Entry)
相关文章推荐
- 百万级访问网站前期的技术准备(上)
- django+nginx+supervisor+gunicorn+gevent 网站部署
- ASP.NET动态网站开发培训-33.互动论坛制作(一、前期准备)
- Django 一机多网站部署:Debian + Nginx + uWSGI
- IIS7部署django网站指南
- 百万级访问网站前期的技术准备(中)
- gwt+smartgwt framework网站开发心得 2.前期准备integration of framework
- 万级访问网站前期的技术准备(下)
- 百万级访问网站前期的技术准备(中)
- 百万级访问网站前期的技术准备(中)
- 在Windows下使用Python3、Django和Apache部署网站
- Python3+django2.0+apache2+ubuntu14部署网站上线的方法
- WIN, Apache2.2+Django1.6(Python2.7.5)+mod_wsgi 实现网站部署
- 百万级访问网站前期的技术准备(下)