博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
第一个django项目
阅读量:6218 次
发布时间:2019-06-21

本文共 3746 字,大约阅读时间需要 12 分钟。

部分转自:https://www.cnblogs.com/linagcheng/p/9932302.html

1.项目启动:

  pycharm启动:点击绿色的小三角,直接启动django项目(小三角的左边是django名字)

"C:\Program Files\JetBrains\PyCharm 2018.3.3\bin\runnerw64.exe" C:\Users\zte\AppData\Local\Programs\Python\Python35\python.exe C:/Users/zte/PycharmProjects/untitled3/manage.py runserver 8000Performing system checks...System check identified no issues (0 silenced).You have 15 unapplied migration(s). Your project may not work properly until you apply the migrations for app(s): admin, auth, contenttypes, sessions.Run 'python manage.py migrate' to apply them.January 31, 2019 - 11:28:44Django version 2.1.5, using settings 'untitled3.settings'Starting development server at http://127.0.0.1:8000/Quit the server with CTRL-BREAK.
View Code

2.app

在Django中,APP可以用以下类比

forum_api--------------------项目    api------------app01
  forum------------ app02

1、app创建

方式一:在terminate命令行创建: python manage.py startapp app01(app名字)        亦可:pycharm菜单栏中 Tools --> run manage.py task ,然后在terminate输入命令 startapp app01(app名字)方式二:在创建项目的时候,直接创建app

2、app注册

  • 方式一创建app
# 在配置文件的 settings.py 中的 INSTALLED_APPS 中,添加'app01'   # app名字或者'app01.apps.App01Config'
  • 方式二创建app
# pycharm会自动注册app,即 INSTALLED_APPS 中'app01.apps.App01Config'

在注册过一次以后,不能再次注册

二、模板配置

1、创建模板文件

在Django中创建一个templates 文件夹,用于存放前台的html文件

2、模板注册

# 在配置文件的settings.py中的 TEMPLATES 中配置路径'DIRS': [os.path.join(BASE_DIR, 'templates')]

1.Template(存放HTML文件的配置)

  2.配置静态文件的存放位置

STATIC_URL = '/static/'  #静态文件夹的别名(在HTML文件中用的) STATICFILES_DIRS=[     #静态文件夹的真正路径,# static文件夹刚开始是没有的,你必须自己在根路径下创建,创建好了在 STATIC_URL='/static/' 这行代码下写     os.path.join(BASE_DIR,"static")  ]# 变量名必须是 STATICFILES_DIRS,必须大写,列表里面可以多个路径,看你自己的需求,配置好这个后,你就可以在你的html页面中
导入相关的静态文件了,比如导入一个css文件,我写个伪代码
注意注意了:上面代码中的static不是我们自己创建的static文件夹,它对应的是 settings.py 中的STATIC_URL = '/static/'这句代码, 假如这句代码中'/static/'变成'/1/'的话,那么html文件中导入css的那句代码中的"/static/mycss.css"也应变成"/1/mycss.css",他们两个是相对应的。

 

 

3.注释掉csrf相关的中间文件

1 MIDDLEWARE = [2     'django.middleware.security.SecurityMiddleware',3     'django.contrib.sessions.middleware.SessionMiddleware',4     'django.middleware.common.CommonMiddleware',5     # 'django.middleware.csrf.CsrfViewMiddleware',6     'django.contrib.auth.middleware.AuthenticationMiddleware',7     'django.contrib.messages.middleware.MessageMiddleware',8     'django.middleware.clickjacking.XFrameOptionsMiddleware',9 ]

  在项目下的settings.py中ROOT_URLCONF = "项目名.urls“

ROOT_URLCONF = 'xp.urls'

 前台发来请求会先去项目下的test3/xp.py文件进行正则匹配找到应该执行的视图函数。

四、数据库连接配置

1、连接sqlite数据库

pycharm默认连接数据库,默认已配置好,无需再配置

2、连接mysql数据库

# 1.在配置文件的settings.py中的 DATABASES 中配置路径'default': {                'ENGINE': 'django.db.backends.mysql',                'HOST': '127.0.0.1',                'PORT': 3306,                'USER': 'root',                'PASSWORD': '',                'NAME': 'wzhe',            }    # 2.在__init__.py文件中配置import pymysqlpymysql.install_as_MySQLdb()

五、get请求和post请求

get:获取数据,页面,携带数据是不重要的数据(数据量有大小限制),数据会显示出来,如果是用户名密码,这种方式     就不安全post:往后台提交数据

六、新手三件套

1 render--返回页面    默认会去templates里找,注意路径2 redirect--重定向3 HttpResponse# 本质:都是返回HttpResponse的对象

七、登录功能案例

# 1. login.html  ***重点***1. action:提交到后台的地址三种写法:              1. http://127.0.0.1:8000/login              2. /login/   推荐用              3. 空         2. method  post方式         3.                 type不可以是button                

用户名:

密码:

# 2.视图层: 1 request.method ----前台提交过来请求的方式 2 request.POST(相当于字典)----post形式提交过来的数据,(http请求报文的请求体中) 3 request.POST.get('name') ----推荐用get取值(取出列表最后一个值) 4 request.POST.getlist('name')-----取出列表所有的值_ 5 前台get方式提交的数据,从request.GET字典里取# 3.链接数据库(防止注入,推荐以下写法)cur.execute('select * from user where name=%s and password=%s ',[name,pwd])

 

转载于:https://www.cnblogs.com/noplablem-wangzhe0635/p/10344510.html

你可能感兴趣的文章
将String转化成Stream,将Stream转换成String
查看>>
java路径Java开发中获得非Web项目的当前项目路径
查看>>
【工具使用系列】关于 MATLAB 遗传算法与直接搜索工具箱,你需要知道的事
查看>>
Kali-linux Arpspoof工具
查看>>
PDF文档页面如何重新排版?
查看>>
基于http协议使用protobuf进行前后端交互
查看>>
bash腳本編程之三 条件判断及算数运算
查看>>
php cookie
查看>>
linux下redis安装
查看>>
弃 Java 而使用 Kotlin 的你后悔了吗?| kotlin将会是最好的开发语言
查看>>
JavaScript 数据类型
查看>>
量子通信和大数据最有市场突破前景
查看>>
StringBuilder用法小结
查看>>
对‘初学者应该选择哪种编程语言’的回答——计算机达人成长之路(38)
查看>>
如何申请开通微信多客服功能
查看>>
Sr_C++_Engineer_(LBS_Engine@Global Map Dept.)
查看>>
非监督学习算法:异常检测
查看>>
App开发中甲乙方冲突会闹出啥后果?H5 APP 开发可以改变现状吗
查看>>
jquery的checkbox,radio,select等方法总结
查看>>
Linux coredump
查看>>