使用pyCharm社区版新建Django项目

基本环境:

  • 安装好pyCharm社区版
  • 使用 pip install Django安装好Django

步骤1:使用pyCharm新建项目

1. pyCharm新建项目示意图

步骤2:新建Django项目

命令django-admin startproject project_name

2-1. 使用命令行新建Django项目

2-2. Django项目的目录结构示意


步骤3:新建项目下的app

理论上这个时候如果使用指令python manage.py runserver 8000即可以成功启动Django内置服务器

注意:

  • manage.py文件所在目录的命令行去使用该指令;
  • 你可以直接再该指令后跟需要监听的端口号;
  • 用于开发的服务器在需要的情况下会对每一次的访问请求重新载入一遍 Python 代码。所以你不需要为了让修改的代码生效而频繁的重新启动服务器。然而,一些动作,比如添加新文件,将不会触发自动重新加载,这时你得自己手动重启服务器。
    新建app命令python manage.py startapp app_name
    3-1. 新建app

    3-2. Django会帮你建立app的所有目录及文件

步骤4:在项目下新建 templates 路径

注意*:
此目录下即用来存放我们的html文件;

  • 此目录一般是与app的主目录是平级的。当然也可以建立在app的目录下,主要取决于你的模板,一般是全局使用呢,还是专门服务于某个app;
    请务必查看项目设置中是否已设置自动检索此目录,方法如下:
 1. 打开项目中的 settings.py 文件
 2. 找到变量 TEMPLATES ,确认其键名为 DIRS 的键值是否为:[os.path.join(BASE_DIR, 'templates')]

步骤5:在项目下新建 static 路径

  • 此目录下即用来存放我们的静态文件:img、css等;
  • 此目录一般是与app的主目录是平级的,也可自行选择目录;
  • 请务必查看项目设置中是否已设置自动检索此目录,方法如下:
 1. 打开项目中的 settings.py 文件
 2. 末尾处新增变量 STATICFILES_DIRS 并赋值为:[os.path.join(BASE_DIR, 'static')]

步骤6:为MTV模型的各文件建立联系

6.1 首先理解下Django的MTV模型

Django中的MTV模型

我们以 http://127.0.0.1:8000/index 简单作下说明:
1.用户提交Request请求:把浏览器中url地址提交给Django服务器
2.Request首先到达的淡蓝色区域,你可以理解为Django项目中的 urls.py 文件,在此文件中会去根据你事先在 urlpatterns 列表中定义好的url路径去确定 index/ 指向哪个 Views文件,即你编写好的某个app目录下的 views.py 文件
3.views.py 文件中的函数render(request,'xxx.html',model_Var) 将会获取数据模型:Models模板网页:Templates,在三者的共同渲染下,给客户端返回 Response,呈现出完整网页。

6.2 具体方法
(1)在urls.py 文件中添加路径
from django.contrib import admin
from django.urls import path
from blog.views import index
urlpatterns = [
   path('admin/', admin.site.urls),
   path('index/', index),
] 
(2)在views.py 文件中构造render(request,templates,model)函数
from django.shortcuts import render
def index(request):
  return render(request, 'index.html')
(3)以上即可以最简单的构造一个访问,接下来的步骤将会说明如何使用models.py

步骤7:连接数据库并使用 models.py

7.1 在Django中连接MongoDB数据库

Django 模型是与数据库相关的,与数据库相关的代码一般写在 models.py 中,Django 支持 sqlite3, MySQL, PostgreSQL,MongoDB等数据库,只需要在settings.py中配置即可,不用更改models.py中的代码,丰富的API极大的方便了使用。
在 settings.py 中添加设置:

# 引入mongoengine 以连接MongoDB数据库
from mongoengine import connect
connect('website', host='127.0.0.1', port='27017')

使用的库为 mongoengine,其使用文档详见:http://docs.mongoengine.org/tutorial.html

7.2 在 models.py 中书写ORM数据模型
from mongoengine import *
# 引入mongoengine 以连接MongoDB数据库
from mongoengine import connect
connect('ganji', host='127.0.0.1', port=27017)
 #定义类
class Info(Document):
        cate_name = StringField()
        person = StringField()
        title = StringField()
        cate = StringField()
        post_time = StringField()
        datetime = StringField()
        position = StringField()
        phone = StringField()
        url = StringField()
        price = IntField()
        meta = {
                  'collection': 'info_list2'
              }
 #展示数据
  for i in Info.objects[:1]:
          print(i.cate_name)

说明
1.类的定义:可以理解为一个类就是数据库中文档(每一行数据)的模板,因此继承于Document
2.其中 meta 属性中,需要写明这个类的指向,即你要访问哪个collection中的数据
3.使用class.objects属性来完成对每个文档的遍历
4.class.objects支持切片操作


步骤8:在views.py中使用models.py 中的数据模型

from django.shortcuts import render
 # 从app模块导入blog中的model文件,使用其中的Info类
from blog.models import Info
def index(request):
     # 类的实例化操作
        info=Info.objects[:1]
         context = {
                'info': {
                             'title': info[0].cate_name,
                              'author': info[0].person,
                              'des': info[0].title,
                         }
          }
          return render(request, 'index.html', context)

步骤9:使用Django中的templates语法在网页中使用数据

以上就是新建一个Django项目的基本步骤啦~

更多Django学习请参考:https://docs.djangoproject.com/zh-hans/2.0/

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 211,948评论 6 492
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 90,371评论 3 385
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 157,490评论 0 348
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 56,521评论 1 284
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 65,627评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 49,842评论 1 290
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,997评论 3 408
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,741评论 0 268
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,203评论 1 303
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,534评论 2 327
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,673评论 1 341
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,339评论 4 330
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,955评论 3 313
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,770评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,000评论 1 266
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,394评论 2 360
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,562评论 2 349