一.首先要拥有一个linux服务器
二.使用Pycharm,部署Django项目
1.创建名为django_linux_test的Django项目
打开linux命令行,进入目录,执行 django-admin.py startproject django_linux_test
2.创建名为DjangoApp的应用
进入django_linux_test的目录,执行./manage.py startapp DjangoApp
3.使用Pycharm打开django_linux_test项目,编辑setting.py配置文件,将应用名称(DjangoApp)添加到INSTALLED_APPS这个元组中
INSTALLED_APPS = [
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'DjangoApp',
]
4.创建models来添加数据库服务
from django.db import models from django import forms class BlogPost(models.Model): title=models.CharField(max_length=32) context=models.TextField(null=True) timestamp=models.DateTimeField() def __unicode__(self): return self.title class Meta: ordering=('-timestamp',)#用于实现首选的排序方式 class BlogPostForm(forms.ModelForm):#Django表单 class Meta: model=BlogPost exclude=('timestamp',)
5.设置mysql数据库,在Setting.py中的DATABASEs中对mysql设置
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql',
'NAME': 'blogpost',
'USER': 'root',
'PASSWORD': '123456',
'HOST': '',
}
}
运行python manage.py createsuperuser创建超级管理员
运行python manage.py syncdb创建表
7.创建前端界面
在应用下创建一个templates文件夹,在这个文件夹中新建archieve.html(名字自拟)
在应用下创建一个templates文件夹,在这个文件夹中新建archieve.html(名字自拟)
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Title</title> </head> <body> <form action="/blog/create/" method="post">{% csrf_token %} <table>{{ form }}</table><br> <input type="submit"> </form> <hr> <hr> {% for bp in blogport %} <h2>{{ bp.title }}</h2> <p>{{ bp.timestamp }}</p> <p>{{ bp.context }}</p> {% endfor %} </body> </html>
8.创建URL模式
服务器通过WSGI的功能,最终会将请求传递给Django,并传递到项目的URLconf文件(django_linux_test/urls.py)
如下:
from django.conf.urls import url,include from django.contrib import admin urlpatterns = [ url(r'^blog/',include('DjangoApp.urls')), url(r'^admin/', admin.site.urls), ]
在django_linux_test/DjangoApp新urls.py
from django.conf.urls import url, include from . import views urlpatterns = [ url(r'^$',views.index), url(r'^create/',views.create_blogpost) ]
9.创建视图函数和处理用户输入
from django.shortcuts import render, render_to_response from django.template import RequestContext from datetime import datetime from DjangoApp.models import BlogPost,BlogPostForm from django.http import HttpResponseRedirect def index(request): blogport=BlogPost.objects.all()[:12] return render_to_response('archieve.html',{'blogport':blogport,'form':BlogPostForm()},RequestContext(request)) def create_blogpost(request): if request.method=='POST': BlogPost( title=request.POST.get('title'), context=request.POST.get('context'), timestamp=datetime.now(), ).save() return HttpResponseRedirect('/blog/')
打开工程目录下命令行输入python manage.py runserver可查看运行结果
10.工程部署远程服务器
连接服务器:
工程上传服务器:项目右键->deployment->upload
11.进入服务器运行项目
使用ssh连接服务器:打开终端输入service sshd start 和 ssh 34.23.12.3(服务器域名)
启动mysql
systemctl start mysql.service
进入项目目录运行python manage.py syncdb创建表
最后运行 python manage.py runserver 0.0.0.0:8000