Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- INSTALLED_APPS = [
- 'ticketsapp.apps.TicketsappConfig',
- 'django.contrib.admin',
- 'django.contrib.auth',
- 'django.contrib.contenttypes',
- 'django.contrib.sessions',
- 'django.contrib.messages',
- 'django.contrib.staticfiles',
- ]
- 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',
- ]
- ROOT_URLCONF = 'appsgenii.urls'
- TEMPLATES = [
- {
- 'BACKEND': 'django.template.backends.django.DjangoTemplates',
- 'DIRS': [os.path.join(BASE_DIR, 'ticketsapp/templates')],
- 'APP_DIRS': True,
- 'OPTIONS': {
- 'context_processors': [
- 'django.template.context_processors.debug',
- 'django.template.context_processors.request',
- 'django.contrib.auth.context_processors.auth',
- 'django.contrib.messages.context_processors.messages',
- ],
- },
- },
- ]
- WSGI_APPLICATION = 'appsgenii.wsgi.application'
- # Database
- # https://docs.djangoproject.com/en/2.0/ref/settings/#databases
- DATABASES = {
- 'default': {
- 'ENGINE': 'django.db.backends.mysql',
- 'NAME': 'appsgenii',
- 'USER': 'root',
- 'PASSWORD': '',
- 'HOST': '127.0.0.1',
- 'PORT': '3306',
- }
- }
- # Authentication Backend
- # AUTHENTICATION_BACKENDS = ('django.contrib.auth.backends.ModelBackend',)
- # Password validation
- # https://docs.djangoproject.com/en/2.0/ref/settings/#auth-password-validators
- AUTH_PASSWORD_VALIDATORS = [
- {
- 'NAME': 'django.contrib.auth.password_validation.UserAttributeSimilarityValidator',
- },
- {
- 'NAME': 'django.contrib.auth.password_validation.MinimumLengthValidator',
- },
- {
- 'NAME': 'django.contrib.auth.password_validation.CommonPasswordValidator',
- },
- {
- 'NAME': 'django.contrib.auth.password_validation.NumericPasswordValidator',
- },
- ]
- urlpatterns = [
- path('admin/', admin.site.urls),
- path('', views.index, name='index'),
- path('auth/', include('django.contrib.auth.urls')),
- path('tickets/', include('ticketsapp.urls')),
- ]
- urlpatterns = [
- path('success/', views.ticket_created, name='ticket created'),
- path('create/', views.create_ticket, name='create ticket'),
- ]
- from django.contrib.auth import authenticate, login as django_login, logout
- from django.contrib.auth.decorators import login_required
- from django.http import HttpResponse, HttpResponseRedirect
- from django.urls import reverse
- from .models import Ticket
- def index(request):
- return HttpResponse("Hello, visitor. You're at the tickets main page.")
- def ticket_created(request):
- return HttpResponse("Form successfully created!")
- def login(request):
- if request.method == 'POST':
- username = request.POST['username']
- password = request.POST['password']
- user = authenticate(request, username=username, password=password)
- if user is not None:
- django_login(request, user)
- return HttpResponseRedirect(reverse('ticketsapp:create', args=(user.id,)))
- else:
- pass
- def logout_view(request):
- logout(request)
- @login_required(login_url='/auth/login/')
- def create_ticket(request):
- if request.method == 'POST':
- # user_id = request.POST['username']
- # query = request.POST['query']
- # url = request.POST['url']
- # time_frame = request.POST['time_frame']
- ticket = Ticket(request.POST)
- ticket.save()
- return HttpResponseRedirect('/success/')
- from django.db import models
- # Create your models here.
- class User(models.Model):
- username = models.CharField(max_length=20)
- password = models.CharField(max_length=50)
- def __str__(self):
- return self.username
- class Ticket(models.Model):
- user = models.ForeignKey(User, on_delete=models.CASCADE)
- query = models.CharField(max_length=1000)
- url = models.CharField(max_length=200)
- time_frame = models.IntegerField('Days to complete', default=1)
- def __str__(self):
- return self.query
Add Comment
Please, Sign In to add comment