Django学习随记 Virtualenv 虚拟环境搭建

绿色:代表可以自定义的名称
红色:代表命令
紫色:代表运行的文件
pip==安装包命令
pip==卸载包命令
创建的虚拟环境管理(避免背包和包太多而引起的一些不必要错误)
【创建“歪球一恩威”】
进入CMD命令行(以管理员身份运行)
C:\ Users \ > pip(安装命令)
C:\ Users \ >(新建“歪球一恩威”,是环境名称(目录),这里要注意这个命令是以当前路径创建)
【进入“歪球一恩威”环境】
C:\ Users \ > cd(进入目录)
C:\ Users \ > > dir (查看目录文件)
C:\ Users \ > > cd(进入脚本目录)
C:\Users\>>> dir (查看目录文件)
C:\Users\>>> .bat (进入虚拟环境)
()C:\Users\>>>(前面多了个括号表示已经进入虚拟环境)
()C:\Users\>>> pip list (查看已经安装的库)
()C:\Users\>>>.bat (退出当前虚拟环境)
【虚拟环境管理器(属于另外一个包)】
C:\Users\\\>pip-win (安装管理器,win平台需要-win,linux不需要加-x)
C:\Users\\\> (创建虚拟环境)
()C:\Users\\\> (创建成功并进入了虚拟环境)
()C:\Users\\\> (退出当前虚拟环境)
【管理虚拟环境】
C:\Users\\\> (查看虚拟环境)
C:\Users\\\>(进入虚拟环境)
() C:\Users\\\> (已经进入虚拟环境)
() C:\Users\\\> (退出当前虚拟环境)
【设置项目】
创建 (创建前请在)
项目目录:C:\Users\\\(重要:命名不要以或者内置的命令重复命名项目名称为)
解释器目录:C:\Users\\Envs\\\.exe (注意Envs里面的)
【之app文件创建】
依次点击菜单栏 Tools >>> Run .py Task >>> (进入命令行)
.py@> [] (回车键创建一个的app应用)
创建完成后项目中会有文件夹,里面包含了必要的py文件
创建文件夹用于储存js和css等,直接在项目下新建文件夹、log、media
储存js、css等
log储存日志文件
media 储存用户上传的文件
因为网站可能会涉及到很多的app应用文件,所以我们建立一个apps文件夹来存放各个app项目文件,并把刚才的文件夹拖放到apps文件夹内
假果我们需要调用apps内的文件夹内的文件时,一般我们需要form apps.views(显然这样导入会比较麻烦)
所以我们可以直接用将文件夹设置成为根目录索引
右键单击文件夹 >>Markas >>root (设置后导入就可以直接用)ws
这样设置是基于的,在命令行执行时会报错;所以我们还需要在项目文件夹中的.py文件内导入文件夹才可以 。
【导入html文件】
文件夹主用于储存html静态文件
【数据库配置】
= {
'': {
'': '.db..',
'NAME': os.path.join(, 'db.'),
配置更改为MYSQL的数据库:
= {
'': {
'': '.db..mysql',
'NAME': "",
'USER':"root",
'':"",
'HOST':"127.0.0.1"
修改后需要重新生成一下配置
依次点击菜单栏Tools>>>Run .py Task>>> (创建的数据表)
(可能会出现没有安装驱动引起的错误,进入虚拟环境中pipmysql-即可,安装mysql时也有可能出现没有c++之类的错误,详细解决方案可参考:)
下载好驱动之后直接 CMD CD 目录/.... >pip.......whl
依次点击菜单栏Tools>>>Run .py Task>>> (创建的默认数据表)
.py@>[](回车键创建一个的app应用)
稍等一下就自动创建好默认的数据表了
【url配置】
urls.py文件
填写对应的url配置如:url(r'^admin/', admin.site.urls), #对应的正则,指向的页面
from .views(同时记得在url配置的上面导入app函数)
url(r'^form/$',) # 这是我们配置的url映射到函数
相对的在app应用的views.py中写入逻辑函数
def ():
(,'.html') # 返回一个对象,html文件名称
填写好后即可在浏览器中输入地址测试是否生效
:8000/form
如果未出现html页面,请检查.py 配置文件中的DIRS 是否为相对路径(下面的已经为相对路径)
TEMPLATES = [{'BACKEND': 'django.template.backends.django.DjangoTemplates','DIRS': [os.path.join(BASE_DIR, 'templates')]# 路径(根目录,文件夹),'APP_DIRS': True,'OPTIONS': {'context_processors': ['django.template.context_processors.debug','django.template.context_processors.request','django.contrib.auth.context_processors.auth','django.contrib.messages.context_processors.messages',],},},]
访问后可能还会出现无法加载CSS文件,但是浏览器开发模式地址是正确的却显示404,这个问题涉及到的静态文件配置
如果有html文件但未出现css文件,请检查.py配置文件中的 是否为相对路径(下面的已经为相对路径)
新增常量
STATIC_URL = '/static/'STATICFILES_DIRS = [os.path.join(BASE_DIR,'static') # 路径(根目录,文件夹)]
是内置的根目录路径

Django学习随记 Virtualenv 虚拟环境搭建

文章插图
【写入数据库表操作】
//.py
class UserMessage(models.Model):name = models.CharField(max_length=20, verbose_name=u"用户名")email = models.EmailField(verbose_name=u"邮箱")address = models.CharField(max_length=100,verbose_name=u"联系地址")message = models.CharField(max_length=500,verbose_name=u"留言信息")class Mata:verbose_name = u"用户留言信息"
依次点击菜单栏Tools>>>Run .py Task
.py@> [] (直接运行会报错如下)
Noin app ''(这是因为还没有在项目.py内注册app)
Django学习随记 Virtualenv 虚拟环境搭建

文章插图
with exit code 0
(注册步骤如下):
INSTALLED_APPS = ['django.contrib.admin','django.contrib.auth','django.contrib.contenttypes','django.contrib.sessions','django.contrib.messages','django.contrib.staticfiles','message', # 新增message即可注册]
另外因为涉及到中文字符,所以需要头部定义成为utf-8编码(app的.py文件)
.py@>e[](运行出现以下信息已经创建了模型(model ))
(既:刚才在.py里面创建的类)
for '':
.py:
-model
【Django学习随记 Virtualenv 虚拟环境搭建】 files were
然后继续
.py@>[] (创建数据表,如果成功则显示以下信息)
to :
Apply all :
:
model ... DONE
.... OK
with exit code 0
这样我们在数据库中查看时就多出了一个 数据表
【model的数据类型】
.# 外键类型
.# 时间类型
.# 整型
.# IP地址类型
.# 上传文件用到的类型
.# 图片类型
.......
(查看数据类型还可以Ctrl键+鼠标左键点击 (查看数据类型)>>> field (查看默认类型) )
我们还可以设置字段的各种定义:
class UserMessage(models.Model):object_id = models.CharField(max_length=50,default="",primary_key=True,verbose_name=u"主键")# 设置主键,默认Django已经自动创建ID作为主键name = models.CharField(max_length=20, null=True,blank=True,default='',verbose_name=u"用户名") # 允许为空,default设置默认值email = models.EmailField(verbose_name=u"邮箱")address = models.CharField(max_length=100,verbose_name=u"联系地址")message = models.CharField(max_length=500,verbose_name=u"留言信息")class Mata:verbose_name = u"用户留言信息"
修改数据模型后重新运行一下
依次点击菜单栏Tools>>>Run .py Task
.py@>e[]
for '':
630.py:
-field id from
- Add fieldto
- Alter field name on
(告诉我们修改了哪些信息)
.py@> 迁移 消息 []
要执行的操作:
应用所有迁移:消息正在
运行迁移:
呈现模型状态... DONE
应用.630 ...确定
(告诉我们操作成功)
class Mata:verbose_name = u"用户留言信息"verbose_name_plural = verbose_name# 复述信息,不指定名称会在后台显示后面加S,所以我们直接调用verbose_name避免db_table = "user_message"# 设置表名ordering = "-object_id"# 排列方式(-倒序)