1. 在ubuntu中建立虚拟环境
比如想在目录project中创建一个虚拟环境,切进这个目录,然后做如下操作
1)安装virtualenv
pip install virtualenv 或者 apt-get install python-virtualenv
2)建立虚拟环境
virtualenv 11_env #默认是创建一个python2的虚拟环境
注意:ubuntu预装了python2和python3, 命令virtualenv 11_env --python=python3可创建python3的虚拟环境
2. 激活虚拟环境
source 11_env/bin/activate
停止虚拟环境 deactivate
3.安装django
pip install django, 如果需要指定django版本,可用pip install django==1.10.6
4. 在django中创建项目
django-admon.py startproject learning_log . #后面的句点可避免将程序部署到服务器时遭遇一些配置问题
5. 创建数据库
python manage.py migrate
6. 运行项目
python manage.py runserver, 查看http://127.0.0.1:8000页面是否正常
7. 可修改字体为中文
Django 默认的语言是英语,所以显示给我们的欢迎页面是英文的。我们在 Django 的配置文件里稍作修改,让它支持中文。用任何一个文本编辑器打开 settings.py 文件,找到如下的两行代码:
blogproject/blogproject/settings.py
## 其它配置代码...
LANGUAGE_CODE = ‘en-us‘TIME_ZONE = ‘UTC‘
## 其它配置代码...
把 LANGUAGE_CODE 的值改为 zh-hans,TIME_ZONE 的值改为 Asia/Shanghai:
二. 创建应用程序
0. 在之前的终端窗口中应该还运行这runserver,再打开一个终端窗口,切换到manage.py所在目录,激活虚拟环境,运行
python manage.py startapp bookshop
starapp appname让django建立创建应用程序所需的基础设施。
1. 定义数据库模型
打开models.py
from django.db import models
class Category(models.Model):
name=models.CharField(max_length=100)
date_added=models.DateTimeField(auto_now_add=True)
def __str__(self): #返回模型的字符串表示
return self.name
这里就是定义了一个名字为Category的表格,这个表格有一个列名name, 并且自动生成一个列ID, 例如
分类 id
|
分类名
|
1
|
Django
|
2
|
Python
|
2. 激活模型
在settings.py中的INSTALLED_APPS段中加入
‘bookshop‘,
3. 让django修改数据库,使其能够存储和模型Category相关的信息
python manage.py makemigrations bookshop #创建存Category模型的表文件,例如0001_initial.py
python manage.py migrate #根据这个表文件创建表
4. 在django管理网站中创建超级用户
python manage.py createsuperuser
5. 向管理网站注册模型
修改models.py的同级文件admin.py
from django.contrib import admin
from bookshop.models import Category
admin.site.register(Category)
访问http://127.0.0.1:8000/admin, 即可看到刚才定义的3个模型的相关数据。
三. 创建网页
1. 打开项目文件夹learning_log, 里面有一个默认文件urls.py,初始信息如下
from django.conf.urls import include, url
from django.contrib import admin
urlpatterns= [
url(r‘^admin/‘, include(admin.site.urls)),
]
需要在urlpatterns下添加一行代码,用来包含应用程序bookshop文件夹下的模块bookshop.urls (需要在下一步新建一个urls.py文件),这在项目扩展时很有帮助
url(r‘‘, include(‘bookshop.urls‘, namespace=‘learnning_logs‘)),
2. 在应用程序文件夹bookshop中,再创建另一个urls.py文件,指向视图函数,如下
from django.conf.urls import url
from . import views
urlpatterns=[
url(r‘^$‘,views.index,name=‘index‘),
]
代码中url()函数接受三个实参
第一个是正则表达式,r将字符串视为原始字符串
第二个实参指定了要调用的视图函数
第三个实参将这个url模式的名称指定为index
3. 编写视图函数