· 8 years ago · Jan 16, 2018, 03:34 PM
1import os
2 BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
3 SECRET_KEY = 'key_hash'
4 DEBUG = True
5 ALLOWED_HOSTS = []
6 INSTALLED_APPS = [
7 'django.contrib.admin',
8 'django.contrib.auth',
9 'django.contrib.contenttypes',
10 'django.contrib.sessions',
11 'django.contrib.messages',
12 'django.contrib.staticfiles',
13 'Aamir.apps.AamirConfig',
14 ]
15 MIDDLEWARE = [
16 'django.middleware.security.SecurityMiddleware',
17 'django.contrib.sessions.middleware.SessionMiddleware',
18 'django.middleware.common.CommonMiddleware',
19 'django.middleware.csrf.CsrfViewMiddleware',
20 'django.contrib.auth.middleware.AuthenticationMiddleware',
21 'django.contrib.messages.middleware.MessageMiddleware',
22 'django.middleware.clickjacking.XFrameOptionsMiddleware',
23 ]
24 ROOT_URLCONF = 'first.urls'
25 TEMPLATES = [
26 {
27 'BACKEND': 'django.template.backends.django.DjangoTemplates',
28 'DIRS': [os.path.join(BASE_DIR, 'templates')]
29 ,
30 'APP_DIRS': True,
31 'OPTIONS': {
32 'context_processors': [
33 'django.template.context_processors.debug',
34 'django.template.context_processors.request',
35 'django.contrib.auth.context_processors.auth',
36 'django.contrib.messages.context_processors.messages',
37 ],
38 },
39 },
40 ]
41 WSGI_APPLICATION = 'first.wsgi.application'
42 DATABASES = {
43 'default': {
44 'NAME': 'dbname',
45 'ENGINE': 'django.db.backends.mysql',
46 'USER': 'arshad',
47 'PASSWORD': 'arshad',
48 'HOST': 'localhost',
49 'PORT': '3306',
50 'OPTIONS': {
51 'init_command': "SET sql_mode='STRICT_TRANS_TABLES'",
52 'charset': 'utf8mb4',
53 }
54 }
55 }
56 AUTH_PASSWORD_VALIDATORS = [
57 {
58 'NAME': 'django.contrib.auth.password_validation.UserAttributeSimilarityValidator',
59 },
60 {
61 'NAME': 'django.contrib.auth.password_validation.MinimumLengthValidator',
62 },
63 {
64 'NAME': 'django.contrib.auth.password_validation.CommonPasswordValidator',
65 },
66 {
67 'NAME': 'django.contrib.auth.password_validation.NumericPasswordValidator',
68 },
69 ]
70 LANGUAGE_CODE = 'en-us'
71 TIME_ZONE = 'UTC'
72 USE_I18N = True
73 USE_L10N = True
74 USE_TZ = True
75 STATIC_URL = '/static/'
76 MEDIA_ROOT = os.path.join(BASE_DIR, 'media')
77 MEDIA_URL = '/media/'
78
79from django.contrib import admin
80 from django.urls import path,include
81 import Aamir.views as views
82
83 urlpatterns = [
84 path('', include('Aamir.urls')),
85 path('admin/', admin.site.urls),
86
87 ]
88
89from django.contrib import admin
90 from django.urls import path
91 import Aamir.views as views
92 urlpatterns = [
93 path('', views.HomePageView.as_view(), name='home'),
94 path('index/', views.HomePageView.as_view(), name='home'),
95 path('summerizer/', views.SummerizerView.as_view(), name='summerizer'),
96 ]
97
98from django.shortcuts import render
99 from django.http import HttpResponse, HttpResponseRedirect
100 from django.views.generic import TemplateView
101 from .forms import FileUploadForm
102 #from django.core.files.storage import FileSystemStorage
103 class HomePageView(TemplateView):
104 template_name = 'Aamir/index.html'
105
106 class SummerizerView(TemplateView):
107 template_name = 'Aamir/summrizer.html'
108 def post(self, request, *args, **kwargs):
109 context = self.get_context_data()
110 if context["form"].is_valid():
111 print('yes done')
112 context["form"].save(commit=True);
113 # save your model
114 # redirect
115 return super(TemplateView, self).render_to_response(context)
116
117 def get_context_data(self, **kwargs):
118 context = super(SummerizerView, self).get_context_data(**kwargs)
119 form = FileUploadForm(self.request.FILES)
120 context["form"] = form
121 return context
122
123from django.db import models
124 class FileUpload(models.Model):
125 upload_file = models.FileField(upload_to='media/%Y/%m/%d/')
126
127from django import forms
128 from .models import FileUpload
129 class FileUploadForm(forms.ModelForm):
130 class Meta:
131 model = FileUpload
132 fields = ('upload_file',)
133 widgets = {
134 'upload_file': forms.FileInput(attrs={'class': 'form-control', 'accept': 'text/plan', 'id':'fupload',
135 'name':'fupload', 'placeholder': 'Brows Files'
136 }, ),
137 }
138 error_messages = {
139 'upload_file': {
140 'required': "No filed selected!",
141 },
142 }
143
144 def save(self, commit=True):
145 instance = super(FileUpload, self).save(commit=False)
146 if commit:
147 # save
148 instance.save(update_fields=['name'])
149 return instance
150
151from django.apps import AppConfig
152 class AamirConfig(AppConfig):
153 name = 'Aamir'
154
155{% extends "Aamir/include/base.html"%}
156 {% block page_title %}Summerizer{% endblock %}
157 {% block content %}
158 <style>
159 legend {
160 display: block;
161 -webkit-padding-start: 2px;
162 -webkit-padding-end: 2px;
163 border-width: initial;
164 width: initial;
165 font-size: initial;
166 margin-bottom: 15px;
167 border-style: none;
168 border-color: initial;
169 border-image: initial;
170 }
171 fieldset {
172 display: block;
173 -webkit-margin-start: 2px;
174 -webkit-margin-end: 2px;
175 -webkit-padding-before: 0.35em;
176 -webkit-padding-start: 0.75em;
177 -webkit-padding-end: 0.75em;
178 -webkit-padding-after: 0.625em;
179 min-width: -webkit-min-content;
180 border-width: 1px;
181 border-style: solid;
182 border-color: lightgrey;
183 border-image: initial;
184 }
185 </style>
186 {% load staticfiles%}
187 <div class="section-container" style="padding-top: 20px;">
188 <div class="container">
189 <div class="row">
190 <div class="col-xs-12 col-md-8 col-md-offset-2">
191 <h1 class="text-center">Summerizer</h1>
192 </div>
193 <br>
194 <br>
195 </div>
196 <div class="row">
197 <div class="col-lg-12 col-md-12 col-sm-12 col-xs-12">
198 <fieldset>
199 <legend style="color:lightgrey;font-weight:bold;">Upload File</legend>
200 <div class="hidden-sm hidden-xs">
201 {% if form.non_field_errors %}
202 <div class="alert alert-danger" role="alert">{{ form.non_field_errors }}</div>
203 {% endif %}
204 <form action="" method="post" enctype="multipart/form-data" class="form-horizontal">
205 {% csrf_token %}
206 <div class="form-group">
207 <!--label class="control-label col-sm-2" for="email">Upload File:</label-->
208 <div class="col-sm-10">
209 <!--input type="file" accept="text/plain" class="form-control" id="fupload" placeholder="Brows for file" name="fupload"-->
210 {{ form.upload_file }}
211 {% for field in form %}
212 <span style="color:#b92c28">{{ field.errors }}</span>
213 {% endfor %}
214 </div>
215 <div class="col-lg-2 col-md-2 col-sm-12 col-xs-12">
216 <button type="submit" class="btn btn-primary btn-block" id="btnupload" name="submit">
217 Upload
218 </button>
219 </div>
220 </div>
221 </form>
222 </div>
223 <div class="hidden-lg hidden-md">
224 <form action="" method="post" enctype="multipart/form-data">
225 <div class="form-group">
226 <label class="control-label col-sm-2" for="email">Upload File:</label>
227 {{ form }}
228 </div>
229 </form>
230 </div>
231 </fieldset>
232 </div>
233 </div>
234 <div class="row">
235 <div class="col-lg-12 col-md-12 col-sm-12 col-xs-12">
236 <br>
237 <fieldset>
238 <legend style="color:lightgrey;font-weight:bold;">Summery</legend>
239 <div class="col-lg-6 col-md-6 col-sm-12 col-xs-12" style="padding-left: 0px">
240 <div class="panel panel-default" style="border: 1px solid lightgrey">
241 <div class="panel-heading" style="background: lightgrey;border:1px solid lightgrey">
242 <p class="text-center" style="font-weight: bold;margin:0.5em;">Summery</p>
243 </div>
244 <div class="panel-body" style="padding:10px">
245 <div class="text-area-result" style="max-height:400px;min-height: 400px;overflow-y: scroll;padding: 0;width: 100%">
246 <p id="result-text">
247
248 </p>
249 </div>
250 </div>
251 </div>
252 </div>
253 <div class="col-lg-6 col-md-6 col-sm-12 col-xs-12" style="padding-right: 0px">
254 <br class="hidden-lg hidden-md">
255 <div class="panel panel-default" style="border: 1px solid lightgrey">
256 <div class="panel-heading" style="background: lightgrey;border:1px solid lightgrey">
257 <p class="text-center" style="font-weight: bold;margin:0.5em;">File Content</p>
258 </div>
259 <div class="panel-body" style="padding:10px">
260 <div class="text-area-result" style="max-height:400px;min-height: 400px;overflow-y: scroll;margin: 0;padding: 0;width: 100%">
261
262 </div>
263 </div>
264 </div>
265 </div>
266 </fieldset>
267 </div>
268 </div>
269 </div>
270 </div>
271 <div class="section-container">
272 <div class="container text-center">
273 <div class="row section-container-spacer">
274 <div class="col-xs-12 col-md-12">
275
276 <h3>Do you like it ?</h3>
277 <p>
278 <a href="https://facebook.com/" class="social-round-icon fa-icon" title="">
279 <i class="fa fa-facebook" aria-hidden="true"></i>
280 </a>
281 <a href="https://twitter.com/" class="social-round-icon fa-icon" title="">
282 <i class="fa fa-twitter" aria-hidden="true"></i>
283 </a>
284 <a href="https://www.linkedin.com/" class="social-round-icon fa-icon" title="">
285 <i class="fa fa-linkedin" aria-hidden="true"></i>
286 </a>
287 </p>
288 </div>
289 </div>
290
291 </div>
292 </div>
293 {% endblock %}