(2)Django-pycharm部署
pycharm
1.新建一个Django工程

2.部署
在pycharm下方的terminal终端中输入命令:
python manage.py startapp app1
生成“app1”文件夹


3.再部署
mysite下创建一个static的文件夹用来存放js,css,image等。templates用来存放.html文件

4.网页输出简单字符
views+urls
views代码
from django.shortcuts import render
from django.shortcuts import HttpResponse
# Create your views here. def index(request):
return HttpResponse("hello world")
urls代码
from django.conf.urls import url
from django.contrib import admin
from app1 import views urlpatterns = [
url(r'^admin/', admin.site.urls),
url(r'^index/', views.index),
运行pycharm
访问http://127.0.0.1:8000/index/

5.引入html文件
views+urls+templates
在templates里增加一个html文件
起名index.html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>meng</title>
</head>
<body>
<h1>123</h1>
</body>
</html>
urls代码
from django.shortcuts import render
from django.shortcuts import HttpResponse
# Create your views here. def index(request):
return render(request,"index.html",)
运行

6.引入静态文件
.views+urls+templates+static
为了引入js,对settings进行配置
STATIC_URL = '/static/'#自动生成了
STATICFILES_DIRS=(
os.path.join(BASE_DIR,'static'),
)
index.html
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>meng</title>
<link rel="stylesheet" type="text/css" href="/static/css/mystyle.css">
</head>
<body>
<form action="/index/" method="post">
<p>
<label>账号:</label>
<input type="text" name="username">
</p>
<p>
<label>密码:</label>
<input type="password" name="password">
</p>
<p>
<input type="submit" value="提交">
<input type="reset" value="重置">
</p>
</form>
</body>
</html>

views.py文件
from django.shortcuts import render
from django.shortcuts import HttpResponse
# Create your views here. def index(request):
if request.method == "POST":
username = request.POST.get("username",None)
password = request.POST.get("password",None)
print(username,password)
return render(request,"index.html",)
注释跨站请求保护机制
settings.py
MIDDLEWARE = [
'django.middleware.security.SecurityMiddleware',
'django.contrib.sessions.middleware.SessionMiddleware',
'django.middleware.common.CommonMiddleware',
#'django.middleware.csrf.CsrfViewMiddleware',# 注释
'django.contrib.auth.middleware.AuthenticationMiddleware',
'django.contrib.messages.middleware.MessageMiddleware',
'django.middleware.clickjacking.XFrameOptionsMiddleware',
]
登陆index 输入账号密码,在服务器后台便打印出来

7.返回用户信息
views.py改成
from django.shortcuts import render
from django.shortcuts import HttpResponse
# Create your views here.
userlist=[
{"user":"tom","pwd":""},
]
def index(request):
if request.method == "POST":
username = request.POST.get("username",None)
password = request.POST.get("password",None)
print(username,password)
temp={"user":username,"pwd":password}
userlist.append(temp)
return render(request,"index.html",{"data":userlist})
index.html改成
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>meng</title>
<link rel="stylesheet" type="text/css" href="/static/css/mystyle.css">
</head>
<body>
<form action="/index/" method="post">
<p>
<label>账号:</label>
<input type="text" name="username">
</p>
<p>
<label>密码:</label>
<input type="password" name="password">
</p>
<p>
<input type="submit" value="提交">
<input type="reset" value="重置">
</p>
</form> {% for a in data %}
<p>{{ a.user }},{{ a.pwd }}</p>
{% endfor %}
</table>
</body>
</html>

8.数据库交互
配置settings
INSTALLED_APPS = [
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'app1'#新增
]
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.sqlite3',
'NAME': os.path.join(BASE_DIR, 'db.sqlite3'),#用此数据库默认有此代码
}
}
编辑models.py
from django.db import models # Create your models here.
class UserInfo(models.Model):
user = models.CharField(max_length=32)
pwd = models.CharField(max_length=32)
创建sqlite3的表
pycharm的teminal中通过命令创建数据库的表
python manage.py makemigrations

python manage.py migrate

....
修改views.py
from django.shortcuts import render
from django.shortcuts import HttpResponse
from app1 import models
# Create your views here. def index(request):
if request.method == "POST":
username = request.POST.get("username",None)
password = request.POST.get("password",None)
#添加数据到数据库
models.UserInfo.objects.create(user=username,pwd=password)
#从数据库中读取所有数据
userlist=models.UserInfo.objects.all()
return render(request,"index.html",{"data":userlist})
view.py
from django.shortcuts import render
from django.shortcuts import HttpResponse
from app1 import models
# Create your views here. def index(request):
if request.method == "POST":
username = request.POST.get("username",None)
password = request.POST.get("password",None)
#添加数据到数据库
models.UserInfo.objects.create(user=username,pwd=password)
#从数据库中读取所有数据
userlist = models.UserInfo.objects.all()
return render(request,"index.html",{"data":userlist})
登陆界面输入账号密码,

9、连mysql数据库
pycharm 里 file-Settings-
在pycharm里下载mysqlclient..

安装

settings.py 设置
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql', #数据库驱动
'NAME': 'mydatabase', #数据库名
'USER': 'mydatabaseuser', #用户名
'PASSWORD': 'mypassword', #密码
'HOST': '127.0.0.1',
'PORT': '',
}
}
(2)Django-pycharm部署的更多相关文章
- 利用Pycharm部署同步更新Django项目文件
利用Pycharm部署同步更新Django项目文件 这里使用同步更新的前提是你已经在服务器上上传了你的Django项目文件. 在"工具(Tools)"菜单中找到"部署(D ...
- 五步教你实现使用Nginx+uWSGI+Django方法部署Django程序
Django的部署可以有很多方式,采用nginx+uwsgi的方式是其中比较常见的一种方式. 在这种方式中,我们的通常做法是,将nginx作为服务器最前端,它将接收WEB的所有请求,统一管理请求.ng ...
- Nginx + Uswgi + Django的部署
Nginx + Uswgi + Django的部署 待更新 https://code.ziqiangxuetang.com/django/django-static-files.html https: ...
- Django项目部署在Linux下以进程方式启动
Django项目部署在Linux下以进程方式启动 这是一篇关于如何在linux下,以后台进程的方式运行服务,命令改改基本上就通用了. 开发完Django项目后,需要把项目部署到linux环境下.当然, ...
- 使用gunicorn将django项目部署到生产环境的子目录下,在nginx后端获取客户真实IP地址
生产环境有时,并不是为了一个项目而存在的.毕竟,域名是比较稀有的. 今天遇到这个问题,解决了.作个记录. 并且,如果将django项目部署在Nginx后面,那如何获取用户真实的IP地址呢? 下面就来解 ...
- 腾讯云快速完成python3.6开发环境搭建与django应用部署
[本文出自天外归云的博客园] 部署python3.6.5 腾讯云服务器安装python3竟然要3个多小时!而且一度速度为0…… 于是网查据说是腾讯云服务器连python官网缓慢导致的,所以想找个国内的 ...
- 使用Nginx+uWSGI+Django方法部署Django程序
第一步先解决uwsgi与django的桥接.解决在没有nginx的情况下,如何使用uwsgi+DJANGO来实现一个简单的WEB服务器. 第二步解决uwsgi与Nginx的桥接.通过nginx与uws ...
- Django应用部署
前言 Apachewsgi 环境搭建 安装Apache 安装mod_wsgi 添加djangowsgi文件 配置etcapache2httpdconf wsgipy配置 跑起来吧 uWSGI 环境搭建 ...
- 使用Nginx+uWSGI+Django方法部署Django程序(下)
在上一篇文章<五步教你实现使用Nginx+uWSGI+Django方法部署Django程序(上)>中,阐述了如何只使用uWSGI来部署Django程序. 当然,单单只有uWSGI是不够的, ...
- 使用Nginx+uWSGI+Django方法部署Django程序(上)
Django的部署可以有很多方式,采用nginx+uwsgi的方式是其中比较常见的一种方式. 在这种方式中,我们的通常做法是,将nginx作为服务器最前端,它将接收WEB的所有请求,统一管理请求.ng ...
随机推荐
- Leetcode 106. 从中序与后序遍历序列构造二叉树
题目链接 https://leetcode.com/problems/construct-binary-tree-from-inorder-and-postorder-traversal/descri ...
- Poj3061Subsequence
A sequence of N positive integers (10 < N < 100 000), each of them less than or equal 10000, a ...
- 笔记-数据库-redis
笔记-数据库-redis 1. redis简介 Redis 是一个开源(BSD许可)的,内存中的数据结构存储系统,它可以用作数据库.缓存和消息中间件. 它支持多种类型的数据结构,如 stri ...
- RNN教程之-2 LSTM实战
前言 说出来你们不敢相信,刚才码了半天的字,一个侧滑妈的全没了,都怪这Mac的触摸板太敏感沃日.好吧,不浪费时间了,前言一般都是废话,这个教程要解决的是一个LSTM的实战问题,很多人问我RNN是啥,有 ...
- Python 交互模式中 Delete/Backspace 键乱码问题
进入 Python 交互模式,按下 Delete/Backspace 键,会出现 ^H 字符 解决方式: 1. 进到 Python 的Modules目录 [root@cyt-test Python-2 ...
- CodeForces 781D Axel and Marston in Bitland DP
题意: 有一个\(n\)个点\(m\)条边的无向图,边有两种类型,分别用\(0\)和\(1\)标识 因此图中的任意一条路径都对应一个\(01\)字符串 定义一个无限长的字符串\(s\): 开始令\(s ...
- proguaid 混淆代码
注意:这里有一个坑.就是-ignorewarnings 他老是混淆不了,告诉你不行.其实加上这句话,就可以了. 下面贴一下代码: -injars c:/ceb_lib.jar -outjars c:/ ...
- mysql进阶二
数据库存储数据的特点: 1.数据存放到表中,然后表再放到库中 2.一个库中可以有多张表,每张表具有唯一的表名来标识自己 3.表中有一个或多个列,列又称为“字段” 数据库常见的管理系统 mysql.or ...
- 03014_EL技术
1.EL表达式概述 EL(Express Language)表达式可以嵌入在jsp页面内部,减少jsp脚本的编写,EL出现的目的是要替代jsp页面中脚本的编写. 2.EL从域中取出数据(EL最重要的作 ...
- 启用hyper后无法打开vmware
十万火急,想办法先让虚拟机能够打开,毕竟经常用. 网上看了无数教程都是让在控制面板中关闭hyper-v,然而并没有用. 找了好久说是不能那样关闭,得用指令.管理员运行powershell,输入下列指令 ...