搭建django项目环境
# 3. 搭建django环境
博客园-[极其内向的帅小伙](https://www.cnblogs.com/zhangqigao/
)
# 1. 本地搭建django环境
# 1.1 django下载
- 命令行
- pip install Django: 最新版本
- pip install -i https://pypi.tuna.tsinghua.edu.cn/simple django==1.11.28 (指定版本)
- 在pycharm中下载(和下载第三方一样)
# 1.2 创建项目
- 命令行
- Django-admin startproject 项目名称
- pycharm
- File à new project -> 左侧选择django ->选择目录 ->选择解释器->create按钮
# 1.3 目录介绍
Settings.py
:
BASE_DIR:项目的根目录
DEBUG=true: 当前是调试模式
如果DEBUG=False ALLOWED_HOSTS=[“*”] 表示所的用户可以访问
TEMPLATES=[ “DIRS”:当前文件的地址] :模板
'DIRS': [os.path.join(BASE_DIR, 'templates')]:指定当前目录的文件夹。*
*Templates***文件夹是存放html文件的
# 1.4 运行Django项目
- 命令行
- python manage.py (opens new window) runserver #默认启动127.0.0.1:8000
- python manage.py (opens new window) runserver 80 #更改默认端口127.0.0.1:80
- python manage.py (opens new window) runserver 0.0.0.0:80 #更改Ip和端口
- pycharm
- 不能用右键点击,直接选择项目,点绿三角
# 1.5 Django简单示例
- URL控制器
from App import views
urlpatterns = [
url(r'^admin/', admin.site.urls),
url(r"^login/$", views.login, name="login") # 对应到views视图,name是一个别名
]
2
3
4
5
6
- 在templates模板里写html
<div class="frame">
<form action="" method="post" >
{% csrf_token %}
<h1>欢迎来到我的博客</h1>
<input type="text" name="user">请输入用户名
<br>
<input type="password" name="password">请输入密码
<br>
<input type="submit" value="提交">
</form>
</div>
2
3
4
5
6
7
8
9
10
11
- views视图
def login(request):
if request.method == "POST":
user = request.POST.get("user")
password = request.POST.get("password")
user_obj = models.User.objects.filter(username=user, password=password)
if user_obj:
return render(request, "index.html")
return render(request, "login.html")
2
3
4
5
6
7
8
- 直接访问本地http://127.0.0.1:8000/login/
1.创建项目
2.创建app
3.url.py
4.templates
5.views.py
2
3
4
5
# 2. 使用git搭建django环境
# 2**.1 giett上创建仓库meiduo**
然后在存放代码的位置git下来
创建一个美多的虚拟环境
# 2**.2 虚拟环境 virtualenv**
1.1安装
pip3 install virtualenv
1.2创建虚拟环境
virtualenv 环境名称
# 注意:执行命令了会创建[环境名称]文件夹,放置所有的环境,进入指定目录 D(你想放的位置)
假设:目前电脑有python2.7/python3.6
virtualenv 环境名称 --python=python3.6 指定版本
virtualenv 环境名称 --python=“c:\\python\\python3.6.exe” 或者
1. 打开终端
2. 安装:virtualenv
pip3 install virtualenv
3. 关闭终端,再重新打开
4. 通过命令进入指定目录(自己想放的位置)
win:
>>> D:
>>> cd envs
5. 创建虚拟环境
virtualenv s28
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
1.3 激活、退出 虚拟环境
激活:
win:
>>> cd Scripts 进入虚拟环境 Scripts 目录
>>> activate 激活虚拟环境
(text) G:\\Python代码\\Python__all__virtualenv\\text\\Scripts>
mac:
>>> source s28/bin/activate
(s25) >>>
退出:
win:
>>> cd Scripts 进入虚拟环境 Scripts 目录
>>> deactivate 退出虚拟环境
G:\\Python代码\\Python__all__virtualenv\\text\\Scripts>
mac:
>>> 任意目录 deactivate命令退出
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
# 2**.3 gitignore 取消上传.idea文件**
用pycharm打开刚刚新git下来的这个文件夹
1、查看.idea文件
(Vrmeiduo) G:\\YLG\\项目\\meiduo>git status
On branch master
Your branch is up to date with 'origin/master'.
.idea/
nothing added to commit but untracked files present (use "git add" to track)
2、在.gitignore 添加 .idea/ (这个文件就是让git的时候不要上传)
添加完后可以在git status查看一下 这个时候就没有了
Changes not staged for commit:
(use "git add <file>..." to update what will be committed)
(use "git restore <file>..." to discard changes in working directory)
modified: .gitignore
no changes added to commit (use "git add" and/or "git commit -a")
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
# 2**.4 把本地的文件上传到git**
把前端文件复制进来,然后git上传一下
git add .
git commit -m "添加前端代码"
git push -u origin master
2
3
# 2.5 下载django
pip install django==1.11.11
# 2.6 创建django项目
django-admin startproject meiduo_mall
# 2.7 配置开发环境
准备二个配置文件,一个开发环境,一个生产环境(部署上线)。
多商城项目的环境分为开发环境和生产环境。
- 开发环境:用于编写和调试项目代码。dev
- 生产环境:用于项目线上部署运行。prod
# 1. 新建配置文件
- 准备配置文件目录
- 新建包,命名为settings,作为配置文件目录
- 准备开发和生产环境配置文件
- 在配置包settings中,新建开发dev和生产prod环境配置文件
- 准备开发环境配置内容
# 2. 指定开发环境配置文件
运行一下项目
# 3. django项目配置文件
二级子目录 BookStore 下的文件称为 Django 项目的配置文件, 它们在创建项目的时候自动生成。下面我们对上述涉及到的文件进行详细的说明:
# 1) manage.py文件
一级子目录中的 manage.py (opens new window) 文件是管理 Django 项目的重要命令行工具,它主要用于启动项目、创建应用和完成数据库的迁移等。
# 2) init.py文件
二级子目录中的 init.py 文件用于标识当前所在的目录是一个 Python 包,如果在此文件中,通过 import 导入其他方法或者包会被 Django 自动识别。
# 3) settings.py文件
settings.py (opens new window) 文件是 Django 项目的重要配置文件。项目启动时,settings.py (opens new window) 配置文件会被自动调用,而它定义的一些全局为 Django 运行提供参数,在此配置文件中也可以自定义一些变量,用于全局作用域的数据传递。
# 4) urls.py文件
url.py (opens new window) 文件用于记录 Django 项目的 URL 映射关系,它属于项目的基础路由配置文件,路由系统就是在这个文件中完成相应配置的,项目中的动态路径必须先经过该文件匹配,才能实现 Web 站点上资源的访问功能。
# 5) wsgi.py文件
wsgi.py (opens new window) 是 WSGI(Web Server Gateway Interface)服务器程序的入口文件,主要用于启动应用程序。它遵守 WSGI 协议并负责网络通讯部分的实现,只有在项目部署的时候才会用到它。
# 4. 创建django的app
# 4.1 创建app
python mange.py (opens new window) startapp appname
说明:因为django的app是寄生在某个project中,所以是在project下,用 python mange.py (opens new window) startapp appname 的方式去创建,创建如下:
D:\\PycharmProjects\\51home\\day18_django>python manage.py startapp cmdb
D:\\PycharmProjects\\51home\\day18_django>python manage.py startapp openstack
2
3
如图:
# 4.2 把具体的某个函数放到具体的app中
说明:view.py是专门给app中存放这个处理的函数的。
urls的导入cmdb的views模块中的home函数。
# 4.3 配置settings.py (opens new window)
我们将Django的应用放到了 工程目录/cmdb
目录下,如果创建一个应用,比如cmdb,那么在配置文件的INSTALLED_APPS中注册应用应该如下:
INSTALLED_APPS = [
...
'meiduo_mall.apps.cmdb.apps.CmdbConfig',
]
2
3
4
为了还能像如下方式简便的注册引用,我们需要向Python解释器的导包路径中添加apps应用目录的路径。
INSTALLED_APPS = [
。。。。
'cmdb', # 直接写app的名称
'cmdb.apps.CmdbConfig' # 推荐写法
]
2
3
4
5
我们将配置文件改为放在settings子目录下,所以 配置文件中的BASE_DIR
指向的变为了cmdb。
使用sys.path
添加<BASE_DIR>/apps
目录,即可添加apps应用的导包路径。
# Build paths inside the project like this: os.path.join(BASE_DIR, ...)
BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
# 添加导包路径
import sys
sys.path.insert(0, os.path.join(BASE_DIR, 'apps'))
2
3
4
5
6
然后重新启动 django 项目程序,并且在浏览器中输入,你的ip:端口号 /h.html