Ubuntu 建立 virtualenv 虚拟环境并安装Django
来源:互联网 发布:linux :wq没有保存退出 编辑:程序博客网 时间:2024/05/22 07:57
建立项目
1. 建立虚拟环境
安装 virtualenv
sudo pip3 install virtualenv
创建一个目录
在该目录下创建一个虚拟环境
切换到该目录并执行下面命令:
virtualenv ll_env
激活该虚拟环境
source ll_env/bin/active
附: 如果有使用 fish ,则命令改为
source ll_env/bin/active.fish
停止使用虚拟环境
deactive
2. 安装 Django
(ll_env)learning_log> pip3 install DjangoCollecting Django Downloading Django-2.0-py3-none-any.whl (7.1MB) 100% |████████████████████████████████| 7.1MB 203kB/s Collecting pytz (from Django) Downloading pytz-2017.3-py2.py3-none-any.whl (511kB) 100% |████████████████████████████████| 512kB 684kB/s Installing collected packages: pytz, DjangoSuccessfully installed Django-2.0 pytz-2017.3
3. 在 Django 中创建项目
(ll_env) learning_log> django-admin.py startproject learning_log . --> 不要忘记后面的这个句点( . )(ll_env)learning_log> lslearning_log/ ll_env/ manage.py*(ll_env) learning_log> ls learning_log/__init__.py learning_log/ manage.py* settings.py urls.py wsgi.py
4. 创建数据库
(ll_env) learning_log> python3 manage.py migrateOperations to perform: Apply all migrations: admin, auth, contenttypes, sessionsRunning migrations: Applying contenttypes.0001_initial... OK Applying auth.0001_initial... OK Applying admin.0001_initial... OK Applying admin.0002_logentry_remove_auto_add... 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 auth.0007_alter_validators_add_error_messages... OK Applying auth.0008_alter_user_username_max_length... OK Applying auth.0009_alter_user_last_name_max_length... OK Applying sessions.0001_initial... OK(ll_env) learning_log> lsdb.sqlite3 learning_log/ ll_env/ manage.py*
4. 查看项目
(ll_env)learning_log> python3 manage.py runserverPerforming system checks...System check identified no issues (0 silenced).December 23, 2017 - 09:11:47Django version 2.0, using settings 'learning_log.settings'Starting development server at http://127.0.0.1:8000/Quit the server with CONTROL-C.
当在浏览器中输入
http://127.0.0.1:8000/
时即可看见相应的页面
**如果出现
That port is already in use(该端口已被占用)
则执行
python3 manage.py runserver 8001
创建应用程序
1. 创建应用程序
当前,前面终端窗口中的应用程序还运行着 runserver。灾打开一个新的终端窗口,执行:
learning_log> source ll_env/bin/activate.fish(ll_env) learning_log> python3 manage.py startapp learning_logs(ll_env) learning_log> lsdb.sqlite3 learning_log/ learning_logs/ ll_env/ manage.py*(ll_env) learning_log> ls learning_logsadmin.py apps.py __init__.py migrations/ models.py tests.py views.py
命令 startapp + appName 让 Django 建立应用程序所需的基础设施。
2. 定义模型
打开 models.py,然后编辑
from django.db import models# 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
3. 激活模型
打开 settings.py(位于 learning_log/learning_log中),然后你将看到:
NSTALLED_APPS = [
‘django.contrib.admin’,
‘django.contrib.auth’,
‘django.contrib.contenttypes’,
‘django.contrib.sessions’,
‘django.contrib.messages’,
‘django.contrib.staticfiles’,
]
这是一个元组,告诉 Django 项目由哪些应用程序组成,然后改为:
NSTALLED_APPS = [
‘django.contrib.admin’,
‘django.contrib.auth’,
‘django.contrib.contenttypes’,
‘django.contrib.sessions’,
‘django.contrib.messages’,
‘django.contrib.staticfiles’,# 我到应用程序
‘learning_logs’,
]
4. 让 Django 修改数据库
(ll_env) learning_log> python3 manage.py makemigrations learning_logsMigrations for 'learning_logs': learning_logs/migrations/0001_initial.py - Create model Topic
命令 makemigrations 让 Django 确定该如何修改数据库,使其能够储存与我们定义到新模型相关联的数据。其创建了一个 0001_initial.py到迁移文件,这个文件将在数据库中为模型 Topic 创建一个表。
下面应用这种迁移,让 Django 替我们修改数据库:
(ll_env)learning_log> python3 manage.py migrateOperations to perform: Apply all migrations: admin, auth, contenttypes, learning_logs, sessionsRunning migrations: Applying learning_logs.0001_initial... OK
3. Django 管理网站
- 创建超级用户
(ll_env)learning_log> python3 manage.py createsuperuserUsername (leave blank to use 'yinren'): Email address: Password: Password (again): Superuser created successfully.
其中,email 可以选填,而且你的密码将会以散列值存储
向管理网站注册模型
我们创建 learning_logs 时, Django 在 models.py 所在到目录中创建了一个名为 admin.py的文件,为向管理网站注册 Topic,请输入:from django.contrib import admin
from learning_logs.models import Topicadmin.site.register(Topic)
这些代码导入我们要注册到模型 Topic,再使用 admin.site.register() 让 Django 通过管理网站管理我们的模型
这时运行python3 manage.py runserver
然后访问
http://127.0.0.1:8000/admin/
4. 定义模型 Entry
from django.db import modelsclass Topic(models.Model): # 用户学习到主题 text = models.CharField(max_length=200) date_added = models.DateTimeField(auto_now_add=True) def _str_(self): # 返回模型到字符串表示 return self.textclass 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] + "..."
未完,待续。。。
- Ubuntu 建立 virtualenv 虚拟环境并安装Django
- windows建立Django项目(建立虚拟环境,安装virtualenv,安装Django,创建项目)
- python虚拟环境Django,python-virtualenv安装
- ubuntu下virtualenv安装python虚拟环境
- mac下安装virtualenv和virtualenvwraper并建立python3虚拟环境的正确姿势
- django virtualenv 创建虚拟环境
- Virtualenv虚拟环境安装
- Python 虚拟环境:Virtualenv安装
- 安装独立Python虚拟环境:virtualenv
- 安装独立的python虚拟环境virtualenv
- virtualenv虚拟环境中安装MySQL-python
- 【学习笔记】Win安装虚拟环境virtualenv
- python3-安装使用virtualenv虚拟环境
- windows python virtualenv(虚拟环境)安装:
- MAC OS 中创建虚拟环境virtualenv,并在其中安装Web框架
- 在Ubuntu下的virtualenv创建的虚拟环境下安装mysqldb
- 【Python】virtualenv —— 建立Python虚拟环境
- python虚拟环境-virtualenv
- 数据模型深入解释
- 平衡树学习笔记(1) BST
- 守护进程
- 程序员的幽默你不懂
- 前端学记之CSS-背景
- Ubuntu 建立 virtualenv 虚拟环境并安装Django
- Node.js实现歌词打印输出
- redis学习之路
- leetcode 520[easy]---Detect Capital
- 一种便捷的Android软件版本更新方法
- zookeeper session实现机制
- libCurl库 学习
- 数据结构实验之数组三:快速转置
- PyCharm专业版的安装