fork download
  1. /* package whatever; // don't place package name! */
  2.  
  3. import java.util.*;
  4. import java.lang.*;
  5. import java.io.*;
  6.  
  7. /* Name of the class has to be "Main" only if the class is public. */
  8. class Ideone
  9. {
  10. public static void main (String[] args) throws java.lang.Exception
  11. {
  12. // your code goes here
  13. }
  14. }
Success #stdin #stdout 0.09s 52584KB
stdin
## مشروع Django لموقع عرض أفلام مع تسجيل دخول ولوحة تحكم وتتبع زوار

# 1. إعداد المشروع (يمكنك تخطي هذا إن كنت أنشأت المشروع بالفعل)
# django-admin startproject moviesite
# cd moviesite
# python manage.py startapp core

# 2. models.py (في تطبيق core)
from django.db import models
from django.contrib.auth.models import User

class Movie(models.Model):
    title = models.CharField(max_length=200)
    description = models.TextField()
    poster = models.ImageField(upload_to='posters/')
    video_url = models.URLField()
    created_at = models.DateTimeField(auto_now_add=True)

    def __str__(self):
        return self.title

class Visit(models.Model):
    ip = models.GenericIPAddressField()
    timestamp = models.DateTimeField(auto_now_add=True)
    user_agent = models.TextField()
    path = models.CharField(max_length=255)
    referrer = models.TextField(blank=True, null=True)

# 3. admin.py
from django.contrib import admin
from .models import Movie, Visit

admin.site.register(Movie)
admin.site.register(Visit)

# 4. middleware.py (داخل core)
from .models import Visit

class VisitTrackingMiddleware:
    def __init__(self, get_response):
        self.get_response = get_response

    def __call__(self, request):
        response = self.get_response(request)

        ip = request.META.get('REMOTE_ADDR')
        user_agent = request.META.get('HTTP_USER_AGENT', '')
        referrer = request.META.get('HTTP_REFERER', '')
        path = request.path

        Visit.objects.create(
            ip=ip,
            user_agent=user_agent,
            path=path,
            referrer=referrer
        )
        return response

# 5. settings.py - أضف التالي:
# في MIDDLEWARE:
# 'core.middleware.VisitTrackingMiddleware',

# في INSTALLED_APPS:
# 'core',

# 6. urls.py (في moviesite/urls.py)
from django.contrib import admin
from django.urls import path, include
from core import views
from django.conf import settings
from django.conf.urls.static import static

urlpatterns = [
    path('admin/', admin.site.urls),
    path('', views.movie_list, name='movie_list'),
    path('login/', views.login_view, name='login'),
    path('dashboard/', views.dashboard, name='dashboard'),
] + static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)

# 7. views.py (core)
from django.shortcuts import render, redirect
from django.contrib.auth import authenticate, login
from django.contrib.auth.decorators import login_required
from .models import Movie


def movie_list(request):
    movies = Movie.objects.all()
    return render(request, 'movie_list.html', {'movies': movies})


def login_view(request):
    if request.method == 'POST':
        username = request.POST['username']
        password = request.POST['password']
        user = authenticate(request, username=username, password=password)
        if user:
            login(request, user)
            return redirect('dashboard')
    return render(request, 'login.html')


@login_required
def dashboard(request):
    movies = Movie.objects.all()
    return render(request, 'dashboard.html', {'movies': movies})

# 8. قوالب HTML: login.html, dashboard.html, movie_list.html (يمكنني إرسالها لك لاحقًا حسب طلبك)

# 9. أمر الترحيل:
# python manage.py makemigrations
# python manage.py migrate
# python manage.py createsuperuser

# 10. أمر التشغيل:
# python manage.py runserver
stdout
Standard output is empty