· 5 years ago · Apr 29, 2020, 06:42 PM
1################ Proyect settings.py ######################
2
3import os
4
5# Build paths inside the project like this: os.path.join(BASE_DIR, ...)
6BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
7
8
9# Quick-start development settings - unsuitable for production
10# See https://docs.djangoproject.com/en/3.0/howto/deployment/checklist/
11
12# SECURITY WARNING: keep the secret key used in production secret!
13SECRET_KEY = '^ux4pec-n-(dh-&)xq3un8ec5jz+#qv6&*dtx6axjukgt0mjwt'
14
15# SECURITY WARNING: don't run with debug turned on in production!
16DEBUG = True
17
18ALLOWED_HOSTS = []
19
20
21# Application definition
22
23INSTALLED_APPS = [
24 'django.contrib.admin',
25 'django.contrib.auth',
26 'django.contrib.contenttypes',
27 'django.contrib.sessions',
28 'django.contrib.messages',
29 'django.contrib.staticfiles',
30 'main',
31 'send',
32 'crispy_forms',
33]
34
35MIDDLEWARE = [
36 'django.middleware.security.SecurityMiddleware',
37 'django.contrib.sessions.middleware.SessionMiddleware',
38 'django.middleware.common.CommonMiddleware',
39 'django.middleware.csrf.CsrfViewMiddleware',
40 'django.contrib.auth.middleware.AuthenticationMiddleware',
41 'django.contrib.messages.middleware.MessageMiddleware',
42 'django.middleware.clickjacking.XFrameOptionsMiddleware',
43]
44
45ROOT_URLCONF = 'Blockchain.urls'
46
47TEMPLATES = [
48 {
49 'BACKEND': 'django.template.backends.django.DjangoTemplates',
50 'DIRS': [],
51 'APP_DIRS': True,
52 'OPTIONS': {
53 'context_processors': [
54 'django.template.context_processors.debug',
55 'django.template.context_processors.request',
56 'django.contrib.auth.context_processors.auth',
57 'django.contrib.messages.context_processors.messages',
58 ],
59 },
60 },
61]
62
63
64WSGI_APPLICATION = 'Blockchain.wsgi.application'
65
66
67# Database
68# https://docs.djangoproject.com/en/3.0/ref/settings/#databases
69
70DATABASES = {
71 'default': {
72 'ENGINE': 'django.db.backends.sqlite3',
73 'NAME': os.path.join(BASE_DIR, 'db.sqlite3'),
74 }
75}
76
77
78# Password validation
79# https://docs.djangoproject.com/en/3.0/ref/settings/#auth-password-validators
80
81AUTH_PASSWORD_VALIDATORS = [
82 {
83 'NAME': 'django.contrib.auth.password_validation.UserAttributeSimilarityValidator',
84 },
85 {
86 'NAME': 'django.contrib.auth.password_validation.MinimumLengthValidator',
87 },
88 {
89 'NAME': 'django.contrib.auth.password_validation.CommonPasswordValidator',
90 },
91 {
92 'NAME': 'django.contrib.auth.password_validation.NumericPasswordValidator',
93 },
94]
95
96
97# Internationalization
98# https://docs.djangoproject.com/en/3.0/topics/i18n/
99
100LANGUAGE_CODE = 'en-us'
101
102TIME_ZONE = 'UTC'
103
104USE_I18N = True
105
106USE_L10N = True
107
108USE_TZ = True
109
110
111# Static files (CSS, JavaScript, Images)
112# https://docs.djangoproject.com/en/3.0/howto/static-files/
113
114STATIC_URL = '/static/'
115
116CRISPY_TEMPLATE_PACK = 'bootstrap4'
117
118
119from .set_email import EMAIL_HOST, EMAIL_PORT, EMAIL_HOST_USER, EMAIL_HOST_PASSWORD, EMAIL_USE_TLS, EMAIL_USE_SSL
120
121EMAIL_HOST = EMAIL_HOST
122EMAIL_PORT = EMAIL_PORT
123EMAIL_HOST_USER = EMAIL_HOST_USER
124EMAIL_HOST_PASSWORD = EMAIL_HOST_PASSWORD
125EMAIL_USE_TLS = EMAIL_USE_TLS
126EMAIL_USE_SSL = EMAIL_USE_SSL
127
128################ Base.html ######################
129
130<html>
131 <head>
132
133 <title>Home</title>
134 <link rel="stylesheet"
135 href="https://stackpath.bootstrapcdn.com/bootstrap/4.4.1/css/bootstrap.min.css"
136 integrity="sha384-Vkoo8x4CGsO3+Hhxv8T/Q5PaXtkKtu6ug5TOeNV6gBiFeWPGFN9MuhOf23Q9Ifjh"
137 crossorigin="anonymous">
138 </head>
139
140 <body>
141
142
143 <nav class="navbar navbar-light bg-light fixed-top">
144 <div class="container">
145 <a class="navbar-brand" href="/">
146 <img src="" width="30" height="40" class="d-inline-block align-top" alt="">
147 Trazer
148 </a>
149 </div>
150 </nav>
151 <br><br><br><br>
152
153 {% block body %}
154 {% endblock %}
155
156 </body>
157</html>
158
159################ home.html ######################
160
161{% extends 'base.html' %}
162
163{% load crispy_forms_tags %}
164
165{% load static %}
166<html>
167 <head>
168
169 <title>Home</title>
170 <link rel="stylesheet"
171 href="https://stackpath.bootstrapcdn.com/bootstrap/4.4.1/css/bootstrap.min.css"
172 integrity="sha384-Vkoo8x4CGsO3+Hhxv8T/Q5PaXtkKtu6ug5TOeNV6gBiFeWPGFN9MuhOf23Q9Ifjh"
173 crossorigin="anonymous">
174 </head>
175
176 <body>
177
178
179 <nav class="navbar navbar-light bg-light fixed-top">
180 <div class="container">
181 <a class="navbar-brand" href="/">
182 <img src="" width="30" height="40" class="d-inline-block align-top" alt="">
183 Trazer
184 </a>
185 </div>
186 </nav>
187 <br><br><br><br>
188
189 <div class="mx-auto" style="width: 500px;">
190 <p class="h1">Trace any Bitcoin address</p>
191 <img src="{% static "static/header.jpg" %}" alt="Image can´t be downloaded">
192 </div>
193
194
195
196
197
198 <br>
199 <div class="row">
200
201 <div class="col-md-1"></div>
202 <div class="col-md-10" style="background-color: #F5F5F5;">
203
204 <br><br>
205
206 <div class="row">
207
208 <div class="col-md-3"></div>
209 <div class="col-md-6">
210
211 <div class="card border-primary mb-3">
212 <div class="card-header">Title</div>
213 <div class="card-body">
214 <form action="/" method="POST">
215 {% csrf_token %}
216 {{form|crispy}}
217 <div class="row">
218
219 <div class="col-md-2"></div>
220 <div class="col-md-8">
221
222 <div class="container">
223 <div class="row row-cols-2">
224 <div>
225 <input class="btn btn-outline-primary" style="margin-right:5em" type="submit" value="TRACE ADDRESS">
226 </div>
227 <div>
228 <input class="btn btn-outline-secondary" type="button" href="" value="HOW IT WORKS?">
229 </div>
230 </div>
231 </div>
232
233 </div>
234 <div class="col-md-2"></div>
235 </div>
236 </form>
237
238 </div>
239 </div>
240 </div>
241 <div class="col-md-3"></div>
242
243 </div>
244
245
246 <div style="height:75px"></div>
247
248 <p class="h2">Addresses already traced</p>
249
250 {% for post in posts %}
251
252 <p class="h3">{{post.address}}</p>
253 <p>{{post.date}}</p>
254
255 {% endfor %}
256
257 </div>
258 <div class="col-md-1"></div>
259
260 </div>
261
262
263 </body>
264</html>
265
266################ Proyect urls.py######################
267
268from django.contrib import admin
269from django.urls import path, include
270
271urlpatterns = [
272 path('', include('main.urls')),
273 path('email/', include('send.urls')),
274 path('admin/', admin.site.urls),
275]
276
277################ Proyect settings ######################
278
279
280################ Proyect settings ######################